简要说明…为什么要在react/redux中调度一个动作来更新状态,而不是直接更新存储?
Redux是一个基于事件(=动作)的数据流模式。只有操作才会导致存储更改。而且,这些必须在不改变旧状态的情况下发生,而是通过创建一个新状态来实现。
这是一个基本的假设和不可改变的规则,因为这就是Redux的目的——将应用程序逻辑移出UI层。
所有的工具都依赖于这个假设——例如,react-redux只会在分派之后检查新的状态,它会通过比较当前和最后的状态值来检查。
如果你想直接修改它,那你就选错库了。有一些库允许这样的事情,比如mobx或valtio,但它不能与Redux一起工作。