Redux React-redux 理解

Redux 相似于一个state  数据树,将全部的 数据存储到这个 store 上.react

  reducer / action  其中 reducer 存储的数据,action 是出发的动做,惟一一个修改 reducer 的,其中内部的 subscrible 是一个监听。redux

 

// react -redux 使用方法api

react-redux 提供了connect 方法;fetch

  import { connect } from 'react-redux';spa

  const mapStateToProps = (state) => ({ list: state.list });get

  const mapDispatchToProps = (dispatch) => ({ getTodoList: () => dispatch(TodoList.getTodoList()) })io

  import default connect({ mapStateToProps, mapDispatchToProsp })(TodoList);import

 

// dva 封装数据 封装 react、react-redux、dva

  import { queryBasicProfile, queryAdvancedProfile } from '../services/api';List

  export default  {
    namespace: 'profile',      

    state: {                           //  保存数值
      basicGoods: [],
    },

    effects: {                      // action  触发的的动做
      *fetchBasic(_, { call, put, select }) {
        yield put({

           type: 'changeLoading',  

          payload: { basicLoading: true },
        });
        const response = yield call(queryBasicProfile);
        yield put({
          type: 'show',
          payload: response,
        });
      },
    },

    reducers: {     //  保存数值
      show:  (state, { payload })  => ({

        ...state,

        ...payload,

       })      },  };