Отделите управление данными от визуальных частей: страница хранит фильтр и результат, а SearchForm, ProductList и ProductCard получают необходимые props.
Как разделить React-страницу на компоненты
Отделите управление данными от визуальных частей: страница хранит фильтр и результат, а SearchForm, ProductList и ProductCard получают необходимые props.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Страница каталога одновременно хранит поисковую строку, загружает товары, рисует фильтр, список и карточки. Предложите границы компонентов без дублирования состояния.
Ответ
Отделите управление данными от визуальных частей: страница хранит фильтр и результат, а SearchForm, ProductList и ProductCard получают необходимые props.
Поднимайте состояние к ближайшему общему владельцу, а локальные детали оставляйте внутри компонента. Например, раскрытие описания принадлежит карточке; поисковая строка, влияющая на загрузку, — странице или специализированному hook. Обновления передавайте callback-функциями. Не дробите каждую строку HTML: граница полезна, если у части есть понятная ответственность, повторное использование или самостоятельное поведение.