DOM и React Senior Паттерны компонентов обновлено

Граница ошибок

Условие

Класс-компонент ErrorBoundary: если потомок бросает при рендере, показать <span>сломалось</span> вместо падения всего дерева.

Что проверяют тесты

  • пропускает нормальных потомков

  • ловит падение потомка

Как подойти

Единственное, что до сих пор требует класса. Граница ловит ошибки рендера, методов жизненного цикла и конструкторов потомков - но не ошибки в обработчиках событий, асинхронном коде и SSR. Их ловят обычным try/catch. Гранулярность важна: одна граница на всё приложение означает белый экран при любой ошибке.

Подсказки: 2
  1. Границу ошибок можно написать только классом - хука для этого нет.
  2. getDerivedStateFromError переводит состояние, componentDidCatch логирует.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.