【问题标题】:Why should you dispatch an action to update the state and not update the store directly in react/redux?为什么要派发一个动作来更新状态,而不是直接在 react/redux 中更新 store?
【发布时间】:2021-11-22 13:41:46
【问题描述】:

简单解释一下... 为什么要 dispatch 一个 action 来更新 state 而不是直接在 react/redux 中更新 store?

【问题讨论】:

  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: reactjs react-native redux react-redux


【解决方案1】:

Redux 是一种基于事件 (=action) 的数据流模式。只有操作会导致存储更改。此外,这些必须在不改变旧状态的情况下发生,而是通过创建一个新状态来实现。

这是一个基本假设和不可弯曲的规则,因为这是 Redux 的目的 - 将应用程序逻辑移出 UI 层。

所有工具都取决于该假设 - 例如react-redux 只会在 dispatch 后检查新状态,它会通过比较当前和最后一个状态值来做到这一点。

如果你想直接修改它,你只是找错了库。 有一些库允许这样的事情,比如 mobx 或 valtio,但它不适用于 Redux。

【讨论】:

    猜你喜欢
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多