携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情 >>
首先,我们看下几个核心概念: 1)Store:保存数据的地方,你可以把它看成一个容器,整个应用只能有一个Store。 2)State:Store对象包含所有数据,如果想得到某个时点的数据,就要对Store生成快照,这种时点的数据集合,就叫做State。 3)Action:State的变化,会导致View的变化。但是,用户接触不到State,只能接触到View。所以,4)State的变化必须是View导致的。Action就是View发出的通知,表示State应该要发生变化了。 5)Action Creator:View要发送多少种消息,就会有多少种Action。如果都手写,会很麻烦,所以我们定义一个函数来生成Action,这个函数就叫Action Creator。 6)Reducer:Store收到Action以后,必须给出一个新的State,这样View才会发生变化。这种State的计算过程就叫做Reducer。Reducer是一个函数,它接受Action和当前State作为参数,返回一个新的State。 7)dispatch:是View发出Action的唯一方法。 然后整个工作流程: 1)首先,用户(通过View)发出Action,发出方式就用到了dispatch方法。 2)然后,Store自动调用Reducer,并且传入两个参数:当前State和收到的Action,Reducer会返回新的State。 3)State一旦有变化,Store就会调用监听函数,来更新View。