Redux

Redux

什么是redux?

   *  redux是js的状态容器,是状态管理机,适合Vue,React,angular。在React中使用率比较高

下载   

     *  npm i redux --save

引入(通常引入createStore来创建store对象)

     *  import  {createStore}  from  'redex 

核心

   *  store (对象)

      *  store是一个对象,用来保存数据(state)和状态管理 

      *  通过调用createStore函数创建store对象

         *  createStore是redux中对外暴露的函数

   *  action (对象)

      *  action是改变state的唯一途径

      *  所有state的改变都是用户通过视图层(view)提交给action

      *  action有两个属性,分别是type和payload

         *  type(必须):要提交的事件名

         *  payload(载荷):伴随函数传过来的参数   

     *  因为action的属性值是固定的,所以我们通常通过工厂模式创建一个函数,每次提交action时,只需要调用这个函数即可,不需要每次都传递一个对象过去

   *  reducer (函数)

      *  reducer是一个函数,是createStore函数的一个参数,且是必须的,主要用来生成(返回)新的state

     *  reducer接收两个参数,一个是state(数据),一个是action

流程

   *  view(视图层)  

       *  在视图层,一般会通过事件触发store.dispatch()将action提交到store中

  *  store 

     *  通过createStore函数创建store对象

     *  createStore函数中的第一个参数reducer(函数)会接收提交过来的action,并返回新的state

  *  index.js中

     *  store.subscribe()监听state的状态,一旦state改变就会调用,它的参数是一个函数

     *  将渲染页面的函数放到store.subscribe()函数中调用

示意图

   

原文地址:https://www.cnblogs.com/babyzhuzhu/p/11593968.html