Time: 20200129
在本文我们将前文的场景翻译成代码。
三个原则
- 原则一:整个应用的状态存储在一个对象树中,只有一个store
把蛋糕店这个实体类比于store
,店内的货架用一个对象树结构表示。

- 原则二:唯一改变状态的方式就是发送一个action,这是一个对象,用于描述要发生什么
不允许直接修改状态,即作为顾客,你不能直接操作货架,而是描述你的需求,让店员来操作。

- 原则三:为了确定状态树如何改变,即如何响应动作,需要编写纯reducers,即纯函数,参数是当前状态,动作,返回结果是新的状态。

总体概览
动作是被分发的,即dispatch
,在useReducer
Hook这里,返回一个状态和dispatch
函数句柄,可以在适当的时机分发动作,然后被系统捕捉,交给reducer
执行。

END.
网友评论