最近看Redux,总结了一些想法,欢迎大家交流
流程
(1)view直接触发dispatch;
(2)将action发送到reducer中后,根节点上会更新props,改变全局view。
(3)redux将view和store的绑定从手动编码中提取出来,放在了统一规范放在了自己的体系中。
(4)而在基本的redux流程中,action只是充当了一个类似于topic之类的角色,reducer会根据这个topic确定需要如何返回新的数据;数据的结构处理也从store中移到了reducer中。
一些概念理解
(1)createStore创建一个新的store来存放所有的state。
createStore需要传递进来两个参数,第一个参数是reduxer,这是一个function,里面有两个参数,分别是当前的state树和要处理的action;第二个参数initalState,即初始时的state,可以从服务器中传入。
返回一个store,这个store保存了所有的state。改变state的方法是dispatch。然后可以通过subscribe监听变化。
(2)getState 获取当前的state树型数据。获取的数据与做后一次reduer发生改变相同。
(3)dispath是触发state变化的唯一途径。dispath会使用getStore()获取当前state,和传入的action调用store的reduce进行更改匹配,返回一个新的state。这就成为了 getState的返回值,同时变化监听器(change listener)会被触发。
(4)subscribe添加一个变化的监听器,每当 dispatch action 的时候都会执行的回调,state树的一部分会发生变化。大多数情况下,不直接使用,需要与react库配合。
稍后更新