【发布时间】:2018-10-03 09:28:56
【问题描述】:
在阅读了有关上下文 (https://reactjs.org/docs/context.html) 的官方文档后,我觉得它的使用应该主要限于当我们有一些变量我们可以认为是“全局”的情况下,我们必须将这些变量发送到不同嵌套的许多组件级别(如当前主题、语言环境、当前经过身份验证的用户)。
上下文旨在共享可被视为 React 组件树“全局”的数据,例如当前经过身份验证的用户、主题或首选语言。
和
上下文主要用于当一些数据需要被不同嵌套级别的许多组件访问时。谨慎应用它,因为它使组件重用变得更加困难。
我想使用 Context 来促进组件树中相距较远的组件之间的通信。许多用户为此使用 Redux(尽管这不是它的主要目的),但同样不鼓励这种做法,即使与 React 一起使用时(通过 react-redux 包),这种方法在内部由 Context 提供支持。
Context 与 redux + react-redux 相比有什么缺点(除非 Redux 有不同的更新状态的方式),这应该让我在所描述的场景中不使用 Context?文档说它使组件重用变得更加困难。它是如何做到的,这个 con 不也与 redux + react-redux duo 相关吗?
【问题讨论】:
标签: reactjs redux react-context