2017-06-19 45 views
0

我已经在组件的渲染中放置了调试器,并且发现它有时会运行两次,如果不是大部分时间。是因为第一个渲染是在组件收到任何道具之前?第二次是什么时候收到它?我认为组件经历了安装,接收道具,然后渲染的生活方式?还是它会安装,渲染,检查道具,然后重新渲染?为什么反应组件呈现两次?

+1

无代码我们只能猜测,我的猜测是你正在改变组件的状态触发重投 – niceman

+0

另一种猜测是你的'shouldComponentUpdate'有缺陷 – niceman

回答

4

如果组件具有初始道具,则不会重新渲染。它会重新渲染的唯一原因是它在初始渲染后接收道具,或者如果您正在更改状态。