空的shouldComponentUpdate有效,否则不行?

时间:2015-08-24 10:59:28

标签: reactjs

如果我在组件中声明一个空的shouldComponentUpdate,我真的无法理解为什么会这样:

shouldComponentUpdate: function(nextProps, nextState) {},

在没有必要的情况下自动反应不会渲染组件(并且完全没问题)。

如果我删除空声明,它每次都会渲染...

我使用Immutable.js作为道具。

1 个答案:

答案 0 :(得分:4)

来自文档

  

默认情况下,shouldComponentUpdate 始终返回true 以防止在状态发生变异时出现细微错误[...]

如果您使用空函数覆盖它,它将返回undefined,这将转换为false,因此您的组件从不重新渲染(除非在这种情况下)其中forceUpdate将强制它呈现而不检查shouldComponentUpdate)。