Есть ли в React 18 что-то, что нельзя реализовать функциональными компонентами и пришлось бы использовать классы?

В React 18 собственный Error Boundary реализуется классовым компонентом: прямого hook-аналога getDerivedStateFromError и componentDidCatch нет.

Короткий ответ

Что ответить на собеседовании

В React 18 собственный Error Boundary реализуется классовым компонентом: прямого hook-аналога getDerivedStateFromError и componentDidCatch нет.

Подробный разбор

Ответ с пояснениями

В React 18 собственный Error Boundary реализуется классовым компонентом: прямого hook-аналога getDerivedStateFromError и componentDidCatch нет.

Можно использовать готовую библиотеку с удобным функциональным интерфейсом, но внутри механизм границы ошибок всё равно опирается на поддерживаемый React API. Граница ловит ошибки рендера дочернего дерева, а не любые ошибки обработчиков и асинхронных callback. Для обычного state, эффектов и контекста классы не обязательны.

Источник: legacy.reactjs.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее