⾸先,我们看下⼏个核⼼概念:
Store
:保存数据的地⽅,你可以把它看成⼀个容器,整个应⽤只能有⼀个Store
。State
:Store
对象包含所有数据,如果想得到某个时点的数据,就要对Store
⽣成快照,这种时点的数据集合,就叫做State
。Action
:State
的变化,会导致View
的变化。但是,⽤户接触不到State
,只能接触到View
。所以,State
的变化必须是View
导致的。Action
就是View
发出的通知,表示State
应该要发⽣变化了。Action Creator
:View
要发送多少种消息,就会有多少种Action
。如果都⼿写,会很麻烦,所以我们定义⼀个函数 来⽣成Action
,这个函数就叫Action Creator
。Reducer
:Store
收到Action
以后,必须给出⼀个新的State
,这样View
才会发⽣变化。这种State
的计算过程就叫做Reducer
。Reducer
是⼀个函数,它接受Action
和当前State
作为参数,返回⼀个新的State
。dispatch
:是View
发出Action
的唯⼀⽅法。然后我们过下整个⼯作流程:
View
)发出Action
,发出⽅式就⽤到了dispatch
⽅法。Store
⾃动调⽤Reducer
,并且传⼊两个参数:当前State
和收到的Action
,Reducer
会返回新的State
State
⼀旦有变化,Store
就会调⽤监听函数,来更新View
。到这⼉为⽌,⼀次⽤户交互流程结束。可以看到,在整个流程中数据都是单向流动的,这种⽅式保证了流程的清晰。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。