foundation
Container and presentational components
Разделяйте data orchestration и reusable rendering, когда это улучшает testability и держит UI components focused.
Container components загружают данные, вешают события и владеют state; presentational рендерят UI из props с минимальной логикой. Split улучшает тестируемость и переиспользование, когда те же visuals обслуживают разные источники. Hooks размывают границу, но разделение ответственности ценно.
На интервью: рефакторинг fat component в container и dumb views. Когда split избыточен для маленьких экранов.
Типовые ошибки: presentational тайно fetch'ит данные; prop drilling вместо colocated hooks; дублирование layout в containers.
Чеклист:
- Presentational чисты при заданных props.
- Fetch и side effects только в containers.
- Storybook/visual tests для presentational слоя.
- Пересматривайте split, когда hooks чисто выносят behavior.