react的日常问题小总结
写在前面
先附上一些关于react的文章,留着以后查漏补缺用:
- React合成事件系统
1.为什么在componentWillUpdate中调用setState会造成循环调用
1 | 如果在shouldComponentUpdate和componentWillUpdate中调用了setState,此时this._pendingStateQueue != null,则performUpdateIfNecessary方法就会调用updateComponent方法进行组件更新。但是updateComponent方法又会调用shouldComponentUpdate和componentWillUpdate,因此造成循环调用,使得浏览器内存占满后崩溃。 |
#####2.componentDidMount里调用setState会触发componentWillUpdate,但是拿不到新设置的state
1 | setState是一个不保证同步的过程 |
一般设置state都会放在componentWillMount中去做,这个时候触发componentWillUpdate的函数中就可以得到改变的state