【发布时间】:2016-07-25 12:16:58
【问题描述】:
我通常在 Stack 上发布与代码相关的内容,但这更多是关于社区的一般想法的问题。
似乎有很多人提倡使用 Redux 和 React 来管理数据/状态,但是在阅读和学习两者时,我遇到了一些看起来不太正确的东西。
Redux
在此页面底部:http://redux.js.org/docs/basics/UsageWithReact.html(传递商店)它建议使用 React 'Context' 的“魔术”。
一种选择是将它作为道具传递给每个容器组件。然而,它变得乏味,因为您甚至必须通过展示组件来连接存储,因为它们恰好在组件树的深处渲染了一个容器。
我们推荐的选项是使用一个特殊的 React Redux 组件调用来神奇地使 store 可用于所有容器组件...
反应
在 React Context 页面 (https://facebook.github.io/react/docs/context.html) 顶部有一个警告:
上下文是一项高级且实验性的功能。 API 可能会在未来的版本中发生变化。
然后在底部:
正如在编写清晰的代码时最好避免使用全局变量一样,您应该在大多数情况下避免使用上下文...
不要使用上下文通过组件传递模型数据。通过树显式地线程化您的数据更容易理解......
所以...
Redux 建议使用 React 'Context' 功能,而不是通过'props' 将store 向下传递给每个组件。而 React 建议相反。
另外,似乎 Dan Abramov(Redux 的创建者)现在为 Facebook(React 的创建者)工作,只是为了让我更加困惑。
- 我没看错吗..?
- 目前对此问题的普遍共识是什么?
【问题讨论】:
-
啊,这是一个很好的问题,我也很想听听其他人的观点!由于讨论方面,我有点担心它会被关闭。我真的希望不会。
标签: javascript reactjs redux