【发布时间】:2019-07-27 16:05:04
【问题描述】:
我正在尝试了解新的反应上下文 API 是如何工作的。
在 redux 中,组件可能在不知道状态的情况下知道调度动作。这允许更新 redux 状态,而不会导致不关心该状态的组件重新渲染。
例如我可以有
<Updater onClick={updateCount}/>
和
<Consumer value={count}/>
Updater 连接到dispatch(updateCount()),Consumer 通过state.count 连接到计数的当前值。当state.count 更新时,只有Consumer 重新呈现。对我来说,这是一个至关重要的行为。
在反应上下文中,复制这种行为似乎非常困难。我希望能够更新状态,而不会导致不必要地重新渲染想要更改上下文但实际上并不关心状态的组件。
如果组件不在消费者内部,它们如何触发上下文更新?而且我绝对不想通过在提供者级别设置状态来触发对整个树的更新。
【问题讨论】:
标签: javascript reactjs react-redux react-context