Redux Thunk vs Redux Saga - яка різниця?
Обидва обробляють async в Redux по-різному.
Redux Thunk
Простий: dispatch функцій.
```javascript // Action creator повертає функцію const fetchUser = (id) => async (dispatch) => { dispatch({ type: 'FETCH_USER_REQUEST' });
try { const user = await api.getUser(id); dispatch({ type: 'FETCH_USER_SUCCESS', payload: user }); } catch (error) { dispatch({ type: 'FETCH_USER_FAILURE', error }); } };
// Використання dispatch(fetchUser(123)); ```
Redux Saga
Потужний: generator функції.
```javascript import { call, put, takeLatest } from 'redux-saga/effects';
function* fetchUser(action) { try { const user = yield call(api.getUser, action.payload); yield put({ type: 'FETCH_USER_SUCCESS', payload: user }); } catch (error) { yield put({ type: 'FETCH_USER_FAILURE', error }); } }
function* watchFetchUser() { yield takeLatest('FETCH_USER_REQUEST', fetchUser); } ```
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.