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

Какова оптимальная вложенность компонентов?

Имеет ли смысл многоуровневая вложенность компонентов, если, например, данные передаются вверх через пару-тройку уровней?
Так файлы короче, но страшно становится, если через useState-ы ререндерить родителей по такой лестнице…
Была идея вообще в хранилище построить нечто вроде описательной структуры, чтобы все связи шли через state-ы, ну типа как объекты в Vue.
В принципе, это мое первое приложение, и я готов к тому, что оптимально не будет, лишь бы работало с приемлемым гемором при поддержке…
Но… Может кто-то порекомендует, как лучше построить иерархию, чтобы, для первого раза, не так напряжно?
  • Вопрос задан
  • 150 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
Adamos
@Adamos
А вам конкретное число уровней посоветовать?
Так это литературу надо читать. Ответ на этот вопрос дан еще полвека назад.
42.
Ответ написан
Kentavr16
@Kentavr16
long cold winter
вставлю свои пять копеек.

1)
Имеет ли смысл многоуровневая вложенность компонентов, если, например, данные передаются вверх через пару-тройку уровней?


если не вдаваться в философию про идеальную архитектуру, то имеет ли смысл определяете вы сами. Только вам известна логика компонента и то как он гипотетически будет развиваться в будущем. Обобщенно - если это самое простое решение, не мешает дальнейшей поддержке/расширению кода и удовлетворяет хотя бы принцип single responsibility то да, имеет. На практике если имеется передача на несколько уровней вверх - чаще всего проще отрефакторить.

2)
Так файлы короче, но страшно становится, если через useState-ы ререндерить родителей по такой лестнице…


Возможно не до конца понял вопрос. Потому отвечаю как понял)
можно забить и делать как удобно, если это не противоречит здравому смыслу. Если используете пропс дриллинг, просто не злоупотребляйте кол-вом стейтов во вложенных компонентах. По возможности изолируйте дочерний код в стейтлес компоненты. Лучше старый добрый коллбек чем строить пирамиду состояний.

Была идея вообще в хранилище построить нечто вроде описательной структуры, чтобы все связи шли через state-ы, ну типа как объекты в Vue.

Советую подсмотреть существующие подходы в реакте. Все велосипеды уже изобретены до вас.

В принципе, это мое первое приложение, и я готов к тому, что оптимально не будет, лишь бы работало с приемлемым гемором при поддержке…
Но… Может кто-то порекомендует, как лучше построить иерархию, чтобы, для первого раза, не так напряжно?


Мой совет - делайте как получается. Если это первый пет, не задавайтесь вопросами про глубокую оптимизацию структуры и тд. Понаступайте на свои личные грабли, и со временем и опытом вопрос как лучше отпадет сам собой.
Ответ написан
Комментировать
@karminski
Senior React.JS Developer
Ну тут либо пересмотреть архитектура, например посмотреть в сторону Feature-Sliced Design, либо использовать useContext для передачи пропсов по иерархии компонентов. Ну или комбинировать эти подходы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽