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.