Javascript 给出顶级应用程序组件状态是最佳实践吗?

Javascript 给出顶级应用程序组件状态是最佳实践吗?,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我是react/redux新手,我想知道如何构建我的第一个应用程序。它将有一个currentUser,以及应用程序级状态的其他位 明智的做法是connect()myApp组件并向下传递此信息,还是直接连接需要访问此信息的组件(例如NavBar)?请参阅以下Redux常见问题解答条目: 早期的Redux文档建议您应该在组件树顶部附近只有几个连接的组件。然而,时间和经验表明,这通常需要一些组件对其所有后代的数据需求了解得太多,并迫使它们传递大量令人困惑的道具 当前建议的最佳实践是将组件分类为“表示”

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


明智的做法是
connect()
my
App
组件并向下传递此信息,还是直接连接需要访问此信息的组件(例如NavBar)?

请参阅以下Redux常见问题解答条目:

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

当前建议的最佳实践是将组件分类为“表示”或“容器”组件,并在有意义的地方提取连接的容器组件:

在Redux示例中强调“顶部的一个容器组件”是一个错误。不要把这当作格言。尽量将演示文稿组件分开。通过在方便的时候连接容器组件来创建容器组件。无论何时,只要您想复制父组件中的代码来为相同类型的子组件提供数据,就需要提取一个容器。通常,当你觉得父母对孩子的“个人”数据或行为了解得太多时,就应该提取一个容器

一般来说,尝试在可理解的数据流和组件的责任范围之间找到平衡


这是一种常见的模式。人们通常选择创建“容器”——连接到商店的智能组件——然后通过
道具和
上下文传递数据。不确定是否有一个通用的最佳实践,这似乎是社区中一个非常固执己见的问题。也许可以查看
react样板文件
,了解社区通常在做什么。