В React 18 собственный Error Boundary реализуется классовым компонентом: прямого hook-аналога getDerivedStateFromError и componentDidCatch нет.
Есть ли в React 18 что-то, что нельзя реализовать функциональными компонентами и пришлось бы использовать классы?
В React 18 собственный Error Boundary реализуется классовым компонентом: прямого hook-аналога getDerivedStateFromError и componentDidCatch нет.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В React 18 собственный Error Boundary реализуется классовым компонентом: прямого hook-аналога getDerivedStateFromError и componentDidCatch нет.
Можно использовать готовую библиотеку с удобным функциональным интерфейсом, но внутри механизм границы ошибок всё равно опирается на поддерживаемый React API. Граница ловит ошибки рендера дочернего дерева, а не любые ошибки обработчиков и асинхронных callback. Для обычного state, эффектов и контекста классы не обязательны.
Источник: legacy.reactjs.org.