我的项目使用Redux,Immutable.js和React。我从the React docs知道PureRenderMixin
与Redux / Flux配合得很好。最后一句特别是:
[如果我们的商店是immutable.js结构,并且]我们也使用 用于保存组件的immutable-js数据结构'国家,我们可以 将PureRenderMixin混合到我们所有的组件中并短路 重新渲染过程。
我不是100%肯定,但我认为从背景来看,短路重新渲染过程'是一件好事,所以听起来应该始终使用PureRenderMixin
完全不可变的数据结构。
但是,this article讨论了性能提升,并提出建议:
"一旦你测量到它提供了一个,就使用shouldComponentUpdate 可感知的绩效改善。"
这似乎不是一个普遍的答案,而是一个重言式("使用它,如果它比不使用它更好")。
关于PureRenderMixin
的大多数其他文献建议只在"纯"上使用它。组件(即,当提供相同的props / state时将一致地呈现相同输出的组件)。
然后,只要他们不进行API调用(即加载外部数据)或改变他们的状态/那么几乎所有组件都满足此条件,是否准确无误?道具?
如果是这样的话,除了罕见的"非纯粹"组件,什么时候不应该使用PureRenderMixin?