Выбор ответа Middle Паттерны компонентов обновлено

Что ловит error boundary

Вопрос

Какую ошибку error boundary поймает?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Ошибку, брошенную при рендере дочернего компонента. Error boundary ловит ошибки при рендере, в методах жизненного цикла и эффектах компонентов ниже по дереву.

Варианты ответа

  1. Ошибку, брошенную при рендере дочернего компонентаправильный ответ
  2. Ошибку в обработчике onClick дочерней кнопки
  3. Ошибку внутри setTimeout в дочернем компоненте
  4. Ошибку в самом компоненте error boundary в его обработчике событий

Разбор

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

  • onClick и setTimeout выполняются вне рендера.
  • Boundary не ловит свои собственные ошибки, только ошибки детей.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.