![](/img/trans.png)
[英]React-Redux: Do I have to use connect() and map state/dispatch on all my components from a single component tree? Is there a way to do it only once?
[英]ReactJS Is it normal when I use Redux all of my components are class component
当我学习反应时,我的老师总是提醒我,我应该尽可能多地使用功能组件,尽量避免使用类组件,而要谨慎使用类组件。 是的,那很容易。
现在我正在使用Redux,我几乎不能使用功能组件,因为从react-redux导入的connect()
仅适用于类组件,因此应用程序的每个组件都是类组件。 这正常吗? 从现在开始,钩子API(正在使用功能组件)的流行度越来越高。
好吧,两件事:
首先,它能够 connect
的功能部件 。
其次,您不应该将每个组件都连接到Redux。 实际上,连接到Redux的组件越少越好。 理想情况下,对于一组组件,您有一个“容器”组件,该组件连接到商店(并且其中包含所有其他相关状态和逻辑),然后将其向下传递给功能/类组件子组件(其中更侧重于展示)。 然后,您可以在整个应用程序中拥有一些这样的容器,而其余的组件只是传统的React组件。
如果将所有内容直接连接到商店,则可能导致出现问题,例如组件的可重用性降低,性能下降或导致组件布局/层次结构不良。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.