Задать вопрос
@vshvydky

Компоненты и контейнеры, что лучше прокидывать пропс или плодить больше контейнеров?

Всем привет.
Для себя определил стратегию использования чистых компонент реакт и контейнеров, которые линкуют редакс стейт.
В результате при развитии приложения получается , что я в одном контейнере могу группировать несколько компонент, которые в свою очередь могут использовать более простые компоненты, что по сути возвращает к ситуации с прокидыванием коллбеков в более простые дочерние компоненты сверху. Все бы ничего, но я начал задумываться, что это не самый лучший на мой взгляд вариант и стоит пока не поздно изменить архитектуру с (компонент1, компонент2... компонентН) -> контейнер1 -> слой1 , на (компонент1 -> контейнер1), (компонент2 -> контейнер2) (компонентН -> контейнерН) -> слой1 (где группируются уже все контейнеры)
что меня тревожит, уже сейчас я занимаюсь component should update оптимизацией и заставляю компоненты ререндериться только тогда когда это действительно нужно, и будет ли плюсом, если я буду использовать существенно больше коннектов к стору через контейнеры. Будут ли в этом плюсы или минусы.
Мой вопрос очень сильно субъективен, термины могут не соответствовать их документальному соответствию, готов детализировать информацию для тех, кто может помочь дельным советом.
Заранее благодарен участвующим.
  • Вопрос задан
  • 1034 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
gadfi
@gadfi
https://gamega.org
в свое время тоже задался этим вопросом - большая часть туторилаов приводит пример похожий на то что описали вы, это прекрасно работает на todolist но в реальном проекте оборачивается контейрнером который прокидывает 20-30 пропсов
redux использует context то есть от большего числа connect вы ни в чем не проиграете
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@davidnum95
На самом деле все просто: все что должно просто отображать данные(всякие инпуты тоже к этому относятся) - выносим в компоненты, все что должно получать, изменять данные - выносим в контейнеры.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы