intermediate
Container and presentational split
Разделяйте данные или координацию и переиспользуемые display-компоненты, когда это проясняет владение.
Presentational-компоненты отвечают за внешний вид: получают данные и колбэки через props и содержат мало логики. Container загружает данные, держит state и передаёт результаты вниз. Разделение упрощает тесты — чистый UI отдельно от проводки данных.
Hooks и колокация размыли жёсткую границу файлов; многие команды используют feature-папки с hook и «глупым» видом. Идея сохраняется: отделить IO и оркестрацию от переиспользуемой разметки.
На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.
Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.
Компромисс часто между ясностью и переиспользованием или между явными props и удобством.
Чеклист:
- Presentational-компоненты управляются props.
- Container владеет источниками данных и побочными эффектами.
- Тестируйте UI без сети при чистом разделении.