Вопрос проверяет понимание ограничений Error Boundary в React и типов ошибок, которые он не может обработать.
Error Boundary — это компонент React, который ловит ошибки JavaScript в дочернем дереве компонентов во время рендеринга, в методах жизненного цикла и в конструкторах. Однако он не является универсальным перехватчиком всех ошибок в приложении.
setTimeout(() => { throw new Error('Ошибка'); }, 1000);class ErrorBoundary extends React.Component {
state = { hasError: false };
static getDerivedStateFromError() { return { hasError: true }; }
render() {
if (this.state.hasError) return <h1>Ошибка</h1>;
return this.props.children;
}
}
// Ошибка в обработчике не будет поймана
<button onClick={() => { throw new Error('Click error'); }}>Click</button>Для обработки таких случаев используйте глобальный обработчик window.onerror или try/catch.
Error Boundary полезен для изоляции ошибок рендеринга, но не заменяет другие методы обработки ошибок. Для событий и асинхронного кода применяйте try/catch или специальные библиотеки.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию