intermediate

Error boundaries

Перехватывайте ошибки render в поддереве и показывайте recovery UI, не покрывая ошибки в обработчиках событий.

Error boundaries — class-компоненты (или обёртки библиотек) с `getDerivedStateFromError` и/или `componentDidCatch`. Они ловят ошибки в render потомков, lifecycle и конструкторах — не в обработчиках событий, async-коде или самом server rendering.

Размещайте границы вокруг секций маршрута или рискованных виджетов, чтобы сбой показал fallback вместо белого экрана. Логируйте ошибки в мониторинг в `componentDidCatch`. Повторите попытку, сбросив локальный state или уйдя на другой маршрут.

Ошибки в обработчиках событий требуют try/catch; async — `.catch` или state ошибки.

На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.

Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.

Компромисс часто между ясностью и переиспользованием или между явными props и удобством.

Чеклист:

  • Границы для сбоев render в поддереве.
  • Локальная обработка для событий и async.
  • Fallback UI и логирование, не тихое проглатывание.