Reactjs 路由处理程序应该使用容器还是表示组件?

Reactjs 路由处理程序应该使用容器还是表示组件?,reactjs,react-native,redux,react-redux,Reactjs,React Native,Redux,React Redux,例如: 启动我的应用程序时,我创建了一个连接的组件,其中包含一些用于分派操作的回调,并呈现一个单独的呈现组件,该组件又包含构成屏幕或场景的许多其他呈现组件 但后来我意识到,这些组件中有很多都有不必要的渲染,因为它们每个都需要不同的状态部分 那么,解决办法是什么呢?是否可以向路由处理程序传递一个呈现多个容器的表示,并且每个容器都连接到它所关心的状态?那么,如果两个组件使用相同的状态部分,那么它们应该是不同的容器吗? 而且,如果我采用这种方法,使用文件夹“视图”来存储这些路由处理程序是否有意义 你是

例如:

启动我的应用程序时,我创建了一个连接的组件,其中包含一些用于分派操作的回调,并呈现一个单独的呈现组件,该组件又包含构成屏幕或场景的许多其他呈现组件

但后来我意识到,这些组件中有很多都有不必要的渲染,因为它们每个都需要不同的状态部分

那么,解决办法是什么呢?是否可以向路由处理程序传递一个呈现多个容器的表示,并且每个容器都连接到它所关心的状态?那么,如果两个组件使用相同的状态部分,那么它们应该是不同的容器吗? 而且,如果我采用这种方法,使用文件夹“视图”来存储这些路由处理程序是否有意义

你是怎么处理的

谢谢

将shouldComponentUpdate放在这些组件上,这样就不会有太多问题了。有关详细信息,请参阅和。这正是connect生成的组件对React Redux的作用

也就是说,请随意连接下面的组件。绝对没有义务连接路由处理程序并将下面的组件保留为表示。我建议从展示组件开始,当它们变得难以使用并且需要传递太多的道具时,将其中一些组件包装在connect中。

将shouldComponentUpdate放在这些组件上,这不会是一个太大的问题。有关详细信息,请参阅和。这正是connect生成的组件对React Redux的作用


也就是说,请随意连接下面的组件。绝对没有义务连接路由处理程序并将下面的组件保留为表示。我建议从呈现组件开始,当它们变得很难使用并且需要传递太多道具时,将其中一些组件包装在connect中。

您能澄清一下不必要的呈现意味着什么吗?您能提供一些代码示例来突出您遇到的问题吗?@CalvinBelden此容器连接到状态的大部分,但不是每个组件都需要全部。因此,许多组件在部分状态更改时重新渲染,尽管它们与更改无关。您能否澄清不必要的渲染意味着什么?您能提供一些代码示例来突出您遇到的问题吗?@CalvinBelden此容器连接到状态的大部分,但不是每个组件都需要全部。因此,许多组件在状态的一部分发生更改时被重新渲染,尽管它们与更改无关。ShoukdConponentUpdate是一个好主意。关于第二段,您建议开始向路由器传递一个连接的容器,该容器呈现许多呈现。然后,如果需要,将它们连接起来,因此如果所有这些都连接起来,那么路由处理程序组件将成为呈现许多容器的表示。“对吗?”埃米利奥斯说。您还可以在方便的时候嵌套容器。参见my.ShoukdConponentUpdate中的第20至23课。更新是个好主意。关于第二段,您建议开始向路由器传递一个连接的容器,该容器呈现许多呈现。然后,如果需要,将它们连接起来,因此如果所有这些都连接起来,那么路由处理程序组件将成为呈现许多容器的表示。“对吗?”埃米利奥斯说。您还可以在方便的时候嵌套容器。请参阅我的作业中的第20至23课。