Open sk1e opened 4 years ago
Очень часто тебе нужно реагировать на изменение комуникейшна в реакт компонентах, т.е. только тогда, когда компонента прямо сейчас отрисована на странице, в сагах ты такое не отследишь, ну или отследишь, но нужно тогда в редакс стейт добавлять какие-то дополнительные флаги, типа "такая-то страница отрисована, такой-то попап открыт/закрыт".
Простой пример, попап, в котором ты что-то сабмитишь. Если на проекте не настроена система нотификаций, то тебе нужно в реакт компоненте слушать прогресс выполнения запроса и на испех или ошибку отреагировать в отрисованном попапе
Очень часто тебе нужно реагировать на изменение комуникейшна в реакт компонентах, т.е. только тогда, когда компонента прямо сейчас отрисована на странице, в сагах ты такое не отследишь, ну или отследишь, но нужно тогда в редакс стейт добавлять какие-то дополнительные флаги, типа "такая-то страница отрисована, такой-то попап открыт/закрыт".
Это к стейту приложение относится, с чего бы этим флагам не быть в редакс стейте?
по мне так лишний бойлерплейт, такие вещи можно и в локальном стейте делать. Конечно если ты хочешь иметь возможность открыть попап фичи находясь в другой фиче, тогда да, можно и в редакс сунуть.
Я пришёл к тому что весь стейт лучше держать в редаксе. Помимо управления извне мы можем:
У нас ответственность разделена между разными слоями и есть слой, который отвечает за стейт. Зачем делать исключения и вносить неоднородность?
Реагировать на такие события можно в саге. В саге это декларативней и не приведёт к дополнительному рендеру, если реакция - диспатч (что как правило). Также не будет дополнительного импорта.