我正嘗試從web api調用加載數據,爲此我添加了兩個動作之一,用於調用另一個用於加載數據的webapi方法。我的操作是這樣的: -無法在react-redux中的動作中調用另一個動作
export function LoadLabResult (labresult) {
return (dispatch) => {
dispatch({
type: 'RECEIVE_LABRESULT',
});
fetch('http://localhost:8090/api/Requisition/GetRequisitionTestInfo', {mode: 'no-cors'})
.then(response =>dispatch({
type: 'REQUEST_LABRESULT',
labresult:response.data
}));
}
};
export function receiveLabResult(labresult) {
console.log(labresult);
return {
type:'REQUEST_LABRESULT',
labresult:labresult
};
}
現在的問題是,它不調用receiveLabResult method.How我能做到這一點?我如何將數據傳遞給labresult?
從我understod,你要派遣API調用之前的動作''RECEIVE_LABRESULT''再一次API調用完成後,派遣行動''REQUEST_LABRESULT''。那是對的嗎 ? – Swapnil
@swapnil在調用api調用之後我想啓動REQUEST_LABRESULT,但它沒有正確的數據發射,我通過調試數據來檢查數據是否來自json。如何將數據傳遞給其他動作並激發? – jack123
我認爲你使用的是不正確的術語。您創建的方法是動作創建者而不是動作。動作創作者觸發動作。在你的情況下,**我沒有看到需要調用loadLabResult **內的receiveLabResult動作創建器。關於API調用數據,你有沒有嘗試在各自的reducer中安裝action.labresult? – Swapnil