例如:
启动我的应用程序时,我创建了一个连接组件,其中包含一些调度操作的回调,并呈现单个表示组件,而这些组件又包含构成“屏幕”(或“场景”)的许多其他表示。
然后我意识到许多组件都有不必要的渲染,因为每个组件都需要不同的状态部分。
那么,解决方案是什么?可能会向路由处理程序传递一个呈现许多容器的表示,并且每个容器都连接到它关心的状态?那么,如果两个组件使用相同的状态部分,那么它们应该是不同的容器呢? 而且,如果我采用这种方法,有一个文件夹'views'来存储这些路由处理程序是否有意义?
你是如何处理的?
谢谢!
答案 0 :(得分:4)
将shouldComponentUpdate()
放在这些组件上,这不会是一个问题。有关详细信息,请参阅Advanced Performance和A Deep Dive into React Perf Debugging。这正是connect()
生成的组件对React Redux的作用。
对于下面的connect()
组件,请注意。 connect()
路由处理程序绝对没有义务,并且将组件保留在表示之下。我建议从表示组件开始,当它们变得棘手时需要将它们中的一些包装在connect()
中,并且需要传递太多的道具。