我目前正在使用redux,我只是遇到一个与其他页面几乎相同的函数,唯一的区别是在method.how中使用的服务可以让我在redux中使用DRY。
请注意我正在使用combineReducer和路由器来处理不同的页面。
e.g: in - InsuranceCompanyIndex.js
export function fetchInsuranceCompanies() {
return (dispatch, getState) => {
const state = getState();
dispatch({ type: LOADING });
InsuranceCompany.paginate(state.dataTable.tableFilter).then(
(response) => dispatch(setInsuranceCompanies(response.data))
);
};
}
in - InsuranceCompanyLines.js
export function fetchInsuranceLines() {
return (dispatch, getState) => {
const state = getState();
dispatch({ type: LOADING });
InsuranceLines.paginate(state.dataTable.tableFilter).then(
(response) => dispatch(setInsuranceLines(response.data))
);
};
}
答案 0 :(得分:1)
你可以像这样使用闭包
export function fetchInsuranceData(InsuranceData,setInsuranceData) {
return (dispatch, getState) => {
const state = getState();
dispatch({ type: LOADING});
InsuranceData.paginate(state.dataTable.tableFilter).then(
(response) => dispatch(setInsuranceData(response.data))
);
};
}
现在每次调用fetchInsuranceDat时,只需传递这两个(InsuranceData,setInsuranceData)变量,它就会返回一个可以访问这两个变量的函数。