提供顶级App组件状态是最佳做法吗?

时间:2017-03-30 09:31:51

标签: javascript reactjs redux react-redux

我是新的反应/ redux,我想知道如何构建我的第一个应用程序。它将具有currentUser以及其他位的应用级状态。

connect()我的App组件是否明智并传递此信息或直接连接需要访问此信息的组件(例如NavBar)?

1 个答案:

答案 0 :(得分:1)

根据http://redux.js.org/docs/faq/ReactRedux.html#react-multiple-components的Redux FAQ条目:

  

早期的Redux文档建议您只应在组件树顶部附近放置一些连接的组件。然而,时间和经验表明,这通常需要一些组件来了解他们所有后代的数据要求,并迫使他们传递一些令人困惑的道具。

     

目前建议的最佳做法是将您的组件分类为“表示”或“容器”组件,并在任何有意义的地方提取连接的容器组件:

     

在Redux示例中强调“顶部的一个容器组件”是一个错误。不要把它当作格言。尽量将您的演示文稿组件分开。通过在方便的时候连接它们来创建容器组件。每当您想要复制父组件中的代码以为相同类型的子组件提供数据时,就需要时间来提取容器。一般情况下,一旦您认为父母对“个人”数据或其子女的行为了解太多,就应该及时提取容器。

     

通常,尝试在可理解的数据流与您的组件的责任区域之间找到平衡点。