Redux вопрос архитектуры

105
08 августа 2021, 17:00

Я осваиваю веб разработку и у меня созрел вопрос:

  • В компонентах реакта должна размещаться логика внутренних состояний и оторбражения.
  • В редукторах размещается логика изменения общего состояния.

Где должны размещаться механизмы такие как: запросы к API, промежуточные обработчики, фоновые задачи? Возможно тут нужна сага?

Answer 1

На главной странице Redux Saga даже имеется такой абзац:

Redux Saga — это библиотека, которая призвана упростить и улучшить побочные эффекты (т.е. такие действия, как асинхронные операции, например, загрузки данных, и "грязные" действия, такие, как доступ к браузерному кешу), сделать лёгкими в тестировании и лучше справляться с ошибками.

Такие механизмы как: запросы к API, промежуточные обработчики, фоновые задачи, работа со сторейджем вполне себе могут располагаться в сагах. Это хорошее решение, которое так или иначе само собой напрашивается к Вашему вопросу. Тем более Redux у Вас уже есть, а Redux Saga — это мидлвар Redux, и не составит особого труда внедрить это в проект.

На личном опыте могу с уверенностью сказать, что благодаря Redux Saga в проекте наводится порядок. Большая часть бизнес логики также может перемещаться в отдельные саги, это удобный инструмент, с которым удобно работать и который в свою очередь дает Вам возможность делать компоненты более легкими, разместить логику порционно, что впоследствии будет только "радовать глаз". Да, Вам нужна Redux Saga.

Answer 2

я бы в свою очередь советовал ознакомиться с понятиям middleware, и только затем ознакомиться со всеми самыми востребованными сайд-эффектами (redux-thunk, saga), так как для этих сайд-эффектов, как и для всего возможного в разработке, можно применить селекцию - простые сайд-эффекты(для простых задач, к примеру redux-thunk) и сложные сайд-эффекты(для сложных задач, к примеру saga). если будет совсем туго, то эта статья Вам поможет

READ ALSO
Выпадающее меню vue.js

Выпадающее меню vue.js

Нужна помощь в реализации выпадающего меню в vuejs

203
Консоль выдает ошибку Uncaught SyntaxError: Unexpected token )

Консоль выдает ошибку Uncaught SyntaxError: Unexpected token )

Идея в том , что бы код считал сколько есть слов в массиве , которые заканчиваются "у" "іе"

218
Не устанавливается флажок checked (radio button) в onChange

Не устанавливается флажок checked (radio button) в onChange

Я в React JS новый, хотел бы кое что уточнить Код есть, в базе данных все корректно меняется при нажатии на кнопкуПроблема лишь в том, что оно не check-ается...

181
window object внутри js класса

window object внутри js класса

Имеется js classВозможно ли внутри класса отслеживать изменился размер window или нет, и если изменилось применять метод класса? Проблема: в классе...

133