【发布时间】:2018-01-03 09:33:00
【问题描述】:
我正在阅读几篇关于如何防止react-redux 在只有一点点变化时重新渲染整个页面的文章。
一篇文章建议不要将所有内容包装成一个大的container(如图 1 所示),而是将所有内容包装成较小的 containers(如图 2 所示)。如果 Container 2 发生变化,则只有 Component 2 和 Component 3 会重新渲染。 Component 1 不会重新渲染。
我有以下问题:
- 如果我将所有内容包装在较小的容器中,我将需要“几个”全局状态,每个
container一个(如图底部的伪代码所示)。这是常见的做法吗? - 如果可以有“几个”全局状态并且我需要来自
Container1的一些属性在Container2中,我需要将它与两个全局状态连接起来。对我来说,感觉它可能很快就会变得一团糟。什么来自哪里? - 何时何地使用
react方法shouldComponentUpdate()?使用Big Container方法我将如何区分应该重新渲染哪个Component?!如果在Components中实现,它们将不再是“转储”,因为它们需要访问全局状态才能决定是否重新渲染。我将无法重用Components,因为每个Component都有自己的特殊情况,何时重新渲染,何时不重新渲染。我不确定何时何地使用shouldComponentUpdate()
请注意,我对此很陌生,可能做出了错误的假设等。我基本上想知道当只需要更新一件事时如何不重新渲染整个页面。询问谷歌的结果差异很大。
【问题讨论】:
标签: javascript reactjs redux react-redux