一.redux基础流程
①我们需要创建全局公共的容器,用来存储各组件需要的公共信息。
②在组件内部,获取公用状态信息,然后渲染。通过store.getState()方法获取。
③把"让组件可以更新"的方法放在公共容器的事件池中。通过store.subscribe(函数)
④创建容器的时候,需要传递reducer。
⑤派发任务,通知reducer执行修改状态。通过store.dispatch({ type:xxx, })派发。
注意:
《1》在创建的store容器中,存储两部分内容
+ 公共状态:各组件需要共享/通信的信息
+ 事件池:存放一些方法【让组件可以更新的方法】
《2》修改公共容器中的状态,不能直接去修改?
+ 基于dispatch派发,通知reducer执行
+ 在reducer中去实现状态的更新
二.手写redux部分源码解析
当我们了解了redux的基础流程之后,搭建一个redux的架子
上面导入的是封装的一个方法
getState&subscribe
dispatch