Когда использовать take, takeEvery, takeLatest, takeLeading в Redux Saga?

Опубликовано: 02 Ноябрь 2024
на канале: Веб-разработка - DevMagazine
2,493
111

#ReduxSaga #Redux #React

В очередном видео курса по Redux Saga рассмотрим такие создатели эффектов (Effect creators) как take, takeEvery, takeLatest, takeLeading, рассмотрим их отличия и особенности, а также создадим имплементации takeEvery, takeLatest, takeLeading на основе take.

Redux Saga ​это библиотека для Redux и является middleware для Redux, которая призвана упростить и улучшить выполнение сайд-эффектов. Cайд эффекты это асинхронные операции, например, загрузки данных либо иные действия, который должны выполняться помимо изменения данных стора (store).

В случае takeEvery вызванные задачи не контролируют, когда они будут вызваны. Они будут вызываться снова и снова при каждом подходящем действии. У них также нет контроля над тем, когда прекратить наблюдение.

Take - сага сама обрабатывает action - это pull модель. Сага в этом случае активная, а не пассивная. И здесь есть большая свобода как правильно обработать action. Take позволяет выстраивать более сложный флоу.

Это полный курс по Redux Saga, который состоит из 18 подробных практических видео-уроков с исходным кодом (посмотреть все видео курса можно в этом плейлисте https://www.youtube.com/playlist?list....


Мы в соцсетях:
💻 Сайт: https://it-dev-journal.ru
💻 Telegram: https://t.me/devmagazinechannel
💻 Twitter:   / _devmagazine  
💻 GitHub: https://github.com/vadimkorr
☕️ Поддержать: https://www.donationalerts.com/r/devm...

Плейлисты и курсы:
📃 Исходный код: https://t.me/devmagazinechannel/105
🍏 Redux Saga:    • 🍏 Redux Saga курс  
💡 Все о ReactJS:    • 📘 ReactJS  
💡 Как пройти ReactJS собеседование:    • 🚀 Собеседование React Frontend  
💡 ReactJS хуки:    • 🐠 React хуки  
💡 Redux:    • ☕️ Redux курс  
💡 Как создать слайдер на ReactJS:    • 🎪 Как создать СЛАЙДЕР на ReactJS  
💡 Svelte:    • 🌴 Svelte курс  
💡 Sass:    • 📔 Sass курс  
💡 GraphQL:    • 💪 GraphQL  
💡 JavaScript:    • 📜 JavaScript  

00:00 - Введение
00:14 - О примере
01:19 - Пишем saga
05:25 - Как работать с takeEvery в Redux Saga
08:26 - Как работать с takeLatest в Redux Saga
09:20 - Как работать с takeLeading в Redux Saga
09:56 - Как работать с take в Redux Saga
13:04 - takeEvery и take - push и pull модель в Redux Saga
15:54 - Имплементируем takeEvery на основе take
17:33 - Имплементируем takeLeading на основе take
19:00 - Имплементируем takeLatest на основе take

#devmagazine #devmagazinechannel