2017-02-25 31 views
0

我目前正在使用REDX,我只是遇到一个功能,几乎相同的其他网页唯一的区别是在method.how中使用的服务我可以让它DRY在减少。Redux动作创建器略有相同的不同页面

请注意,我正在使用combineReducer和路由器为不同的页面。

例如: 在 - 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)) 
     ); 
    }; 
} 

中 - 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)) 
     ); 
    }; 
} 

回答

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)变量s,它将返回一个可以访问这两个变量的函数。

相关问题