📅  最后修改于: 2023-12-03 14:39:18.312000             🧑  作者: Mango
API.Fetch Saga
is a middleware for managing side effects in redux-saga
. It allows you to handle API calls in a clean and efficient way.
When using API.Fetch Saga
, you create a saga
that listens to a specific action. When that action is dispatched, the saga
uses yield call
to execute a function that makes an API call. If the call is successful, the saga
dispatches a new action with the fetched data. If the call fails, the saga
dispatches an error action.
Here's an example saga
that listens to a FETCH_USERS
action:
import { call, put, takeEvery } from 'redux-saga/effects';
import { fetchUsersApi } from '../api';
import { fetchUsersSuccess, fetchUsersFailure } from '../actions';
function* fetchUsersSaga() {
try {
const users = yield call(fetchUsersApi);
yield put(fetchUsersSuccess(users));
} catch (error) {
yield put(fetchUsersFailure(error));
}
}
export default function* watchFetchUsers() {
yield takeEvery('FETCH_USERS', fetchUsersSaga);
}
In this example, fetchUsersApi
is a function that makes the actual API call. fetchUsersSuccess
and fetchUsersFailure
are action creators that dispatch success and error actions, respectively.
API.Fetch Saga
Using API.Fetch Saga
has several benefits:
generator
objects.redux-saga
effects such as put
, takeEvery
, select
, and more.If you're looking for a clean and efficient way to handle API calls in your redux-saga
middleware, API.Fetch Saga
is a great option. It allows you to handle API calls in a graceful way and integrates well with other redux-saga
effects.