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 и логирование, не тихое проглатывание.