0
私は非同期操作を処理するためにredux sagaを使用しています。私はコンポーネントのマウントでactionCreatorを呼び出しています。しかし、このサーガは複数回呼び出されています。その結果、apiコールが継続的に呼び出されています。これをどうやって解決するのですか?サガがキャンセルされたというエラーを解決するにはどうすればよいですか?
以下の私のコードを見つけてください。
import { takeLatest, put, call } from 'redux-saga/effects';
import MyOrdersApi from 'yoda-interfaces/lib/MyOrders/MyOrders';
import * as MyOrdersActionTypes from '../actionTypes/MyOrdersActionTypes';
export function* myOrdersSaga(action){
try {
const myOrders = yield call(MyOrdersApi.getMyOrders);
yield put({ type: MyOrdersActionTypes.GET_MY_ORDERS, myOrders })
}
catch(error){
yield put({ type: MyOrdersActionTypes.GET_MY_ORDERS_ERROR, error })
}
}
export default function* watchMyOrdersSaga() {
yield takeLatest(MyOrdersActionTypes.GET_MY_ORDERS, myOrdersSaga);
}
であるはずです。問題は、コンポーネントをマウントしているときに問題が発生している可能性があります。 –