В чём разница между глобальным состоянием и состоянием компонента?

Хранить всё в одном глобальном состоянии это одна из хороших практик при использовании Redux в разработке. Однако некоторые авторы пишут, что хранить всё вплоть до флагов для управления модальными окнами и другими элементами UI не влияющими напрямую на бизнес-логику это оверхед. Хочу понять в чём разница (плюсы, минусы, подводные камни) .

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

С другой стороны ничто не мешает хранить состояние в общем сторе и работу с ним описывать в экшенах и редюсерах вместе с другим кодом компонента.

В итоге создаётся впечатление, что ценой за инкапсуляцию мы превращаем компонент в чёрный ящик. Возможно я что-то я упускаю?
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
Хранить всё в одном глобальном состоянии это одна из хороших практик при использовании Redux в разработке


Кто вам такое сказал?

для поддержки и расширения удобно инкапсулировать состояние компонента внутри него.


Это правда

ничто не мешает хранить состояние в общем сторе


Чувствуете разницу между "для поддержки и расширения удобно" и "ничего не мешает"?
"Ничего не мешает" вам писать как угодно - но какая в этом будет польза?

ценой за инкапсуляцию мы превращаем компонент в чёрный ящик

Да. и это хорошо
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы