Redux Thunk — это middleware, который позволяет action creators возвращать функции вместо обычных объектов-экшенов. Это даёт тебе возможность писать асинхронную логику внутри Redux.
Функция thunk получает два параметра из Redux store:
dispatch() - позволяет тебе диспатчить экшеныgetState() - позволяет тебе получить доступ к текущему состояниюВместо того чтобы напрямую диспатчить экшен, Redux Thunk позволяет тебе диспатчить функцию:
// Без thunk (синхронно)
dispatch({ type: 'FETCH_DATA' });
// С thunk (асинхронно)
dispatch((dispatch, getState) => {
fetchData().then(data => {
dispatch({ type: 'FETCH_SUCCESS', payload: data });
});
});
Redux Thunk упрощает управление побочными эффектами в Redux-приложениях. Без него пришлось бы использовать более тяжёлый middleware вроде Redux Saga или Redux Observable, поэтому Thunk остаётся необходимым инструментом для работы с асинхронными операциями в современных React-приложениях на Redux.
Middleware Redux Thunk позволяет action creators возвращать функции, которые получают dispatch и getState в качестве параметров, что позволяет выполнять асинхронные операции в Redux.
Новый — ещё не проверен сообществом
Вы