4.4.1 一个状态节点只属于一个模块
您可以在百度里搜索“深入浅出React和Redux 艾草文学(www.321553.xyz)”查找最新章节!
4.4.1 一个状态节点只属于一个模块
这个规则与其说是规则,不如说是Redux中模块必须遵守的限制,完全无法无视这个限制。
在Redux应用中,Store上的每个state都只能通过reducer来更改,而我们每个模块都有机会导出一个自己的reducer,这个导出的reducer只能最多更改Redux的状态树上一个节点下的数据,因为reducer之间对状态树上的修改权是互斥的,不可能让两个reducer都可以修改同一个状态树上的节点。
比如,如果A模块的reducer负责修改状态树上a字段下的数据,那么另一个模块B的reducer就不可能有机会修改a字段下的数据。
这里所说的“拥有权”指的是“修改权”,而不是“读取权”,实际上,Redux Store上的全部状态,在任何时候,对任何模块都是开放的,通过store.getState()总能够读取当整个状态树的数据,但是只能更新自己相关那一部分模块的数据。 深入浅出React和Redux