dva - model

2020-03-08  本文已影响0人  陈大事_code

model中的结构

const Model = {
  namespace: 'listAndcardList',
  state: {
    list: [],
  },
  effects: { // 异步操作
    *fetch({ payload }, { call, put }) {
      const response = yield call(queryFakeList, payload);
      yield put({
        type: 'queryList',
        payload: Array.isArray(response) ? response : [],
      });
    },
  },
  reducers: { // 同步操作
    queryList(state, payload) {
      return { ...state, list: payload.data };
    },
  },
  subscriptions: { // 监听路由
      sendMessage({dispatch, history}) {
          history.listen({pathname} => {
              if (pathname === '/user') {
                  dispath({
                      type: 'queryList'
                  })
              }
          })
      }
  }
};
export default Model;

说明:

上一篇 下一篇

猜你喜欢

热点阅读