在react 循环,触发事件时,修改state里面的值,报如下错误:
Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.
意思是:
超过了最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,就会发生这种情况。react限制嵌套更新的数量以防止无限循环。
如何解决这个问题呢?
这里我们用es6里面的箭头函数()=>,把this的指向问题,定为react这个函数实例本身,每次去改实例的state值。
showbundle = (codeNum) => {
this.setState({
showbundleNum: codeNum
});
};