【发布时间】:2021-11-22 13:41:46
【问题描述】:
简单解释一下... 为什么要 dispatch 一个 action 来更新 state 而不是直接在 react/redux 中更新 store?
【问题讨论】:
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
标签: reactjs react-native redux react-redux
简单解释一下... 为什么要 dispatch 一个 action 来更新 state 而不是直接在 react/redux 中更新 store?
【问题讨论】:
标签: reactjs react-native redux react-redux
Redux 是一种基于事件 (=action) 的数据流模式。只有操作会导致存储更改。此外,这些必须在不改变旧状态的情况下发生,而是通过创建一个新状态来实现。
这是一个基本假设和不可弯曲的规则,因为这是 Redux 的目的 - 将应用程序逻辑移出 UI 层。
所有工具都取决于该假设 - 例如react-redux 只会在 dispatch 后检查新状态,它会通过比较当前和最后一个状态值来做到这一点。
如果你想直接修改它,你只是找错了库。 有一些库允许这样的事情,比如 mobx 或 valtio,但它不适用于 Redux。
【讨论】: