如果我在组件中声明一个空的shouldComponentUpdate
,我真的无法理解为什么会这样:
shouldComponentUpdate: function(nextProps, nextState) {},
在没有必要的情况下自动反应不会渲染组件(并且完全没问题)。
如果我删除空声明,它每次都会渲染...
我使用Immutable.js作为道具。
答案 0 :(得分:4)
来自文档
默认情况下,shouldComponentUpdate 始终返回true 以防止在状态发生变异时出现细微错误[...]
如果您使用空函数覆盖它,它将返回undefined
,这将转换为false
,因此您的组件从不重新渲染(除非在这种情况下)其中forceUpdate
将强制它呈现而不检查shouldComponentUpdate
)。