& # 8203;,,,,,回来的我们可以把它理解成一个状态管理器,可以把状态(数据)存在的再现中,以便增,删,改,例如:
从服务器上取一个收藏列表,就可以把取回来的列表数据用回来的管理,多个页面共享使用,不用把数据传来传去。
页面改变了一个状态,B页面要收到通知,做相应的操作。
& # 8203;,,,,,,回来的是一个给JS应用使用的可预测的状态容器,也就是说结果是可预测的,每一次改动会有确定的结果,正如函数式编程思想里的相同的参数会返回相同的结果。
& # 8203;,,,,,,回来的的状态会存储在单一的数据源中(存储在对象树中),这样,读取和共享就非常方便,不必去考虑会取错。状态是只能直接读取的,不能直接修改,修改只能通过发送事件(行动)统一处理,这样便于分析事件,也可以避免随处修改状态造成竞态条件。统一处理状态时用纯函数(还原剂中的函数)来修改状态,这些函数只是一个勾子,当需要修改状态树时回来的会来调用,你可以编写不同的函数来处理不同的行动对应的状态,或者复用一个函数来处理多种行动。
& # 8203;,,,,,,,简单来说就是使不易维护的数据变得维护简单,以小程序举例:多个页面要共享一套数据,而且这些数据是随时可能从网络上获取更新或增减的(如页面跳转时要带数据过去(非基本类型的数据),这时如果用应用程序中的全局变量来暂存,存的变量多了,以后维护是个大麻烦,别人接手代码也会很烦恼。),还有一个地方的数据有改变,其他地方要收到通知等这些场景就可以使用回来的来做,如果你没有遇到这些问题,说明你的项目还没有到这些复杂的阶段,可以暂不考虑用回来的。
<强>回来的的四个部件强>
1,先是安装reduxJx, cnpm我——拯救rudux 2、创建一个店的js文件 3、使用进口来引用回来的进口{createStore} '回来的' 4,然后在商店创建一个全局管理数据对象 const preloadState={ cartList: [] } 5,处理全局数据的方法 const减速器=函数(状态、动作){//参数状态:上一次的状态状态//参数行动:事件描述对象 console.log (action.type); 处理数据方法 如果项目。===0){ …代码 }//返回下一次全局使用的状态状态 返回状态; }//创建仓库 常量存储=createStore(减速机、preloadState); 出口默认存储 6日派遣的使用 在商店以外store.dispatch()调用参数1:设置商店里面的行动相对的类型值,参数2:传递的数据 如下: store.dispatch ({ 类型:“添加”, 价值:{ id: 2 } }) 然后在商店里面的行动里面可以获取到类型和传入值的值,也可以在全局管理数据中的状态改变全局的数据 7,在组件(页面)中也可以通过商店。getState()来获取你存储的相对应的值, 8,store.subscribe()的操作是基本用来监听商店里面的一些数据变化进行操作的,需要主要的是派遣的操作顺序,