鍍金池/ 問答/HTML/ react里請求接口一直在調(diào)用是什么原因呢

react里請求接口一直在調(diào)用是什么原因呢

請求是dva封裝的,接口是在componentDidMount的時候觸發(fā)的,componentDidMount進(jìn)入頁面打印時只會打印一條,但是在調(diào)用的時候會不斷的觸發(fā)是什么原因呢

brand.js

componentDidMount() {
    const { dispatch } = this.props;
    dispatch({
      type: 'stock/brand',
      payload: {}
    });
};

model

*brand({ payload }, { call, put }) {
      yield put({
        type: 'changeLoading',
        payload: true,
      });
      let dataList = {};
      dataList.serviceParams = {...payload};
      const response = yield call(getBrand, dataList);
      if(response.resultCode === 0) {
        yield put({
          type: 'brand',
          payload: {
            brand: response.datas
          }
        });
        yield put({
          type: 'changeLoading',
          payload: false,
        });
      }else{
        message.info(response.message, /* duration */3)
      };
},

reducers: {
    brand(state, { payload }) {
      return {
        ...state,
        brand: payload.brand
      };
    },
    changeLoading(state, { payload }) {
      return {
        ...state,
        loading: payload,
      };
    },
}
回答
編輯回答
敢試

記得你在哪里問過這個問題,已經(jīng)好多天了,還沒有解決??

你把reducers中的brand改個名字試試,不要和effects中的方法名重復(fù)了。

dva@2中,如果effectsreducers中的方法名相同,會默認(rèn)執(zhí)行effects中的方法。

2017年1月8日 08:57