0

我收到以下错误:

未捕获的错误:超过最大更新深度。当组件在 componentWillUpdate 或 componentDidUpdate 中重复调用 setState 时,可能会发生这种情况。React 限制了嵌套更新的数量以防止无限循环。

其次是:

上述错误发生在“图表”组件中

我唯一使用的 Chart 组件(来自 grommet 组件库)来自这段代码:

import {Chart} from 'grommet';


const WaveForm = (props:any):JSX.Element => { 
    
    const size= props.waveForm.length
    const color = props.isRecording?"recording":props.isPrimed?"primed":"brand";   

    return (
            <Chart
            bounds={[[0,Math.max(1000,size)], [-25,25]]}
            values= {props.waveForm.map((e:number,i:number) => ({value:[i, e, -e]}))}
            size={{"width": "fill",height:"75%"}} 
            round={true}
            color={color}
            thickness="hair"
            />
    
    );
  }

export default WaveForm;

我一生都无法理解为什么这会导致无休止的重新渲染。任何帮助将不胜感激。

4

1 回答 1

0

该问题似乎是由于索环图表手柄“填充”的问题。改变

size={{"width": "fill",height:"75%"}}

size={{"width": "100%",height:"75%"}}

解决了这个问题

于 2021-12-11T22:23:27.857 回答