【发布时间】:2021-08-05 18:29:33
【问题描述】:
我是 redux saga 中的新蜜蜂,试图通过 saga 进行 api 调用,但它被多次触发。下面是我的代码,
component.js(我的 useEffect 方法中的调度操作)
dispatch({type: updatePrdTrackerStatus.ACCEPTDOCUMENTS_SETUP , payload: {...someValues}});
mySaga.js
` function* updateAcceptDocumentStatus() {
const {payload } = yield take( updatePrdTrackerStatus.ACCEPTDOCUMENTS_SETUP );
const result = yield call(updateTrackerStatusHandler,payload);
yield put({ type: updatePrdTrackerStatus.ACCEPTDOCUMENTS_SETUP_RESULT , payload:result})
}
async function updateTrackerStatusHandler (tracker){
await http.post("apicall");
const { data } = await http.post("api call2");
return data;
}
}
export function* trackerRequestSaga() {
yield all([
updateAcceptDocumentStatus(),
]);
}
结果是 api 1 和 api 2 调用多次。不确定我在传奇部分中缺少什么。谁能帮帮我。谢谢。
【问题讨论】:
标签: reactjs redux redux-saga