Skip to main content
Практика завдань

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); } ```

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань