Redux-saga. Рецепты
На страничке Recipes https://redux-saga.js.org/docs/recipes в документации redux-saga есть несколько полезных сниппетов:
- throttling
С использованием встроенного эффекта
- debouncing
Сохраняем активный воркер и отменяем его (`cancel`), если пришло новое событие, либо используем встроенный эффект
- повторное выполнение неудачных XHR-запросов
С использованием встроенного эффекта
- функционал Отменить последнее действие
С помощью
- batching нескольких экшенов
С использованием библиотеки redux-batched-actions.
#redux #управлениесостоянием #документация #saga
На страничке Recipes https://redux-saga.js.org/docs/recipes в документации redux-saga есть несколько полезных сниппетов:
- throttling
С использованием встроенного эффекта
throttle
.- debouncing
Сохраняем активный воркер и отменяем его (`cancel`), если пришло новое событие, либо используем встроенный эффект
takeLatest
.- повторное выполнение неудачных XHR-запросов
С использованием встроенного эффекта
retry
или комбинацией базовых эффектов call
, take
, delay
и блока try-catch.- функционал Отменить последнее действие
С помощью
spawn
и race
.- batching нескольких экшенов
С использованием библиотеки redux-batched-actions.
#redux #управлениесостоянием #документация #saga
redux-saga.js.org
Recipes | Redux-Saga
Throttling
👍3
Redux ToolKit: краткий конспект
Собираюсь повторить RTK Query (а затем разобраться с React Query). Поэтому краткая выжимка по Redux Toolkit:
1. Мыслим слайсами
Функция createSlice создает сразу и action creators, и редьюсер, и даже набор селекторов, если мы работаем с EntityAdapter.
2. Асинхронщина
Вся асинхронщина через createAsyncThunk + extraReducers.
3. Селекторы
Селекторы напрямую в RTK не входят, для них используем reselect.
4. Связь с компонентами
В компонентах используем классические хуки
5. Создание хранилища
Стор создается с помощью configureStore.
***
В целом это все, в основном удобный синтаксический сахар, ничего сверхъестественного поверх базового Redux нет.
#управлениесостоянием #redux
Собираюсь повторить RTK Query (а затем разобраться с React Query). Поэтому краткая выжимка по Redux Toolkit:
1. Мыслим слайсами
Функция createSlice создает сразу и action creators, и редьюсер, и даже набор селекторов, если мы работаем с EntityAdapter.
2. Асинхронщина
Вся асинхронщина через createAsyncThunk + extraReducers.
3. Селекторы
Селекторы напрямую в RTK не входят, для них используем reselect.
4. Связь с компонентами
В компонентах используем классические хуки
useSelector
и useDispatch
.5. Создание хранилища
Стор создается с помощью configureStore.
***
В целом это все, в основном удобный синтаксический сахар, ничего сверхъестественного поверх базового Redux нет.
#управлениесостоянием #redux
Telegram
React Junior
Redux Toolkit. Слайсы и экшены
Переходим к отдельным редьюсерам, или слайсам (срезам). Будем рассматривать их вместе с экшенами, так как они тесно связаны, ведь редьюсеры обрабатывают экшены.
В обычном redux это довольно многословная часть кода: здесь…
Переходим к отдельным редьюсерам, или слайсам (срезам). Будем рассматривать их вместе с экшенами, так как они тесно связаны, ведь редьюсеры обрабатывают экшены.
В обычном redux это довольно многословная часть кода: здесь…
👍5
React Query vs RTK Query: всестороннее сравнение
Статья (англ.): https://www.frontendmag.com/insights/react-query-vs-rtk-query/
В статье сравниваются два популярных решения для взаимодействия React-приложений с удаленными источниками данных.
Сходство
🔹Оба инструмента используют лучшие performance-практики работы с удаленными данными:
- кеширование запросов
- предотвращение дублирующихся запросов
- повторные запросы в случае ошибок
🔹Оба инструмента предлагают решения для самых распространненных задач получения данных:
- пагинация - обновление списка данных
- оптимистические обновления
Отличие
Отличие заключается в архитектуре инструментов.
🔸React Query - это независимая библиотека. Ее функциональность реализована в виде хуков, то есть привязана к жизненному циклу React-компонентов.
🔸RTK Query - это инструмент, созданный поверх Redux Toolkit. Он работает в парадигме Redux: через редьюсеры и экшены, взаимодействует с глобальным стейтом приложения.
Кривая обучения
Автор считает, что и React Query, и RTK Query интуитивно понятны. Это довольно спорное утверждение, так как чтобы понять и то, и другое, требуется немного отформатировать свое понимание работы с данными.
Что касается RTK Query, тут вообще требуется сначала разобраться с Redux Toolkit - а это дело непростое.
Когда что использовать (привет, кэп)
RTK Query лучше использовать, если:
- В приложении уже используется Redux и Redux Toolkit. Тогда RTK Query доступна из коробки и уже интегрирована с прочими инструментами.
- Требуется сложная логика управления данными. RTK Query - это более мощный инструмент и на нем можно построить более сложную систему.
React Query лучше использовать, если:
- В приложении не используется глобальное состояние или запросы данных с ним не взаимодействуют. React Query не предоставляет никаких способов создания глобального стейта или взаимодействия с ним, все только внутри компонента.
- Требуется простая логика обработки данных.
- Не хочется долго разбираться.
- Не хочется тянуть зависимости в виде Redux Toolkit.
#управлениесостоянием #redux
Статья (англ.): https://www.frontendmag.com/insights/react-query-vs-rtk-query/
В статье сравниваются два популярных решения для взаимодействия React-приложений с удаленными источниками данных.
Сходство
🔹Оба инструмента используют лучшие performance-практики работы с удаленными данными:
- кеширование запросов
- предотвращение дублирующихся запросов
- повторные запросы в случае ошибок
🔹Оба инструмента предлагают решения для самых распространненных задач получения данных:
- пагинация - обновление списка данных
- оптимистические обновления
Отличие
Отличие заключается в архитектуре инструментов.
🔸React Query - это независимая библиотека. Ее функциональность реализована в виде хуков, то есть привязана к жизненному циклу React-компонентов.
🔸RTK Query - это инструмент, созданный поверх Redux Toolkit. Он работает в парадигме Redux: через редьюсеры и экшены, взаимодействует с глобальным стейтом приложения.
Кривая обучения
Автор считает, что и React Query, и RTK Query интуитивно понятны. Это довольно спорное утверждение, так как чтобы понять и то, и другое, требуется немного отформатировать свое понимание работы с данными.
Что касается RTK Query, тут вообще требуется сначала разобраться с Redux Toolkit - а это дело непростое.
Когда что использовать (привет, кэп)
RTK Query лучше использовать, если:
- В приложении уже используется Redux и Redux Toolkit. Тогда RTK Query доступна из коробки и уже интегрирована с прочими инструментами.
- Требуется сложная логика управления данными. RTK Query - это более мощный инструмент и на нем можно построить более сложную систему.
React Query лучше использовать, если:
- В приложении не используется глобальное состояние или запросы данных с ним не взаимодействуют. React Query не предоставляет никаких способов создания глобального стейта или взаимодействия с ним, все только внутри компонента.
- Требуется простая логика обработки данных.
- Не хочется долго разбираться.
- Не хочется тянуть зависимости в виде Redux Toolkit.
#управлениесостоянием #redux
Frontend Mag
React Query vs RTK Query: A Comprehensive Comparison - Frontend Mag
We compare and contrast React Query vs RTK Query to help developers understand the similarities and differences between these two popular data management libraries for React applications.
👍1