Jon*_*Jon 0 javascript arrays ecmascript-6 reactjs es6-promise
我想调用一个方法,但同时它给了我一个错误:
超出最大更新深度。当组件在 componentWillUpdate 或 componentDidUpdate 中重复调用 setState 时,就会发生这种情况。React 限制嵌套更新的数量以防止无限循环。
函数声明
datahandler= (val1,val2) => {
this.setState(
{
dataNew:
this.state.dataNew=== {val1} ? {val2} : {val1}
},
() => {
this.getNew();
}
);
};
Run Code Online (Sandbox Code Playgroud)
函数调用
<Table.HeaderCell onClick={this.datahandler('name asc','name desc')}>
Click Me to Call
</Table.Headercell>
Run Code Online (Sandbox Code Playgroud)
您this.sortHandler直接在渲染上调用,这将导致setState被调用,从而导致新的渲染,并且无限循环继续。
您想提供onClick一个应在单击事件发生时调用的函数。
<Table.HeaderCell
onClick={() => this.sortHandler("companyName asc", "companyName desc")}
>
Click Me to Call
</Table.HeaderCell>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1089 次 |
| 最近记录: |