react报Maximum update depth exceeded

这个问题出现在绑定事件并且事件中含有改变state的逻辑时,运行报的错:
代码:

 toggleDrawer(flag){
        this.setState({left: flag});
    }
...
 
打开左边

上面是报错代码:
原因是,{this.toggleDrawer(true)}这样的写法在render的时候它就会执行,这时候里面改变state,导致页面渲染,触发render,如此一直循环多次,报错。

正确书写:

this.toggleDrawer(true)}>打开左边

这样就能解决这个问题。

你可能感兴趣的:(react笔记)