Time: 20200129
在本文我们将前文的场景翻译成代码。
三个原则
- 原则一:整个应用的状态存储在一个对象树中,只有一个store
把蛋糕店这个实体类比于store,店内的货架用一个对象树结构表示。
截屏2020-01-29下午1.31.07.png
- 原则二:唯一改变状态的方式就是发送一个action,这是一个对象,用于描述要发生什么
不允许直接修改状态,即作为顾客,你不能直接操作货架,而是描述你的需求,让店员来操作。
截屏2020-01-29下午1.33.42.png
- 原则三:为了确定状态树如何改变,即如何响应动作,需要编写纯reducers,即纯函数,参数是当前状态,动作,返回结果是新的状态。
截屏2020-01-29下午1.36.09.png
总体概览
动作是被分发的,即dispatch,在useReducer Hook这里,返回一个状态和dispatch函数句柄,可以在适当的时机分发动作,然后被系统捕捉,交给reducer执行。
截屏2020-01-29下午1.38.40.png
END.










网友评论