getDerivedStateFromErrorgetDerivedStateFromError — это метод жизненного цикла React, который обеспечивает обработку ошибок в компонентах-классах. Он вызывается, когда потомок выбрасывает ошибку во время рендеринга, позволяя тебе корректно обработать сбой и показать альтернативный UI.
Метод получает выброшенную ошибку как параметр и возвращает объект для обновления состояния компонента. Это обновление состояния вызывает повторный рендеринг, позволяя тебе показать альтернативный контент вместо падения приложения.
Ключевые характеристики:
class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
static getDerivedStateFromError(error) {
// Обнови состояние, чтобы вызвать рендеринг резервного UI
return { hasError: true };
}
render() {
if (this.state.hasError) {
return <h1>Что-то пошло не так.</h1>;
}
return this.props.children;
}
}
Используй getDerivedStateFromError, когда нужно:
getDerivedStateFromError отвечает за рендеринг; для побочных эффектов, таких как логирование ошибок, используй дополняющий метод жизненного цикла componentDidCatch.
getDerivedStateFromError — это статический метод, поэтому он не может получать доступ к свойствам экземпляра или ключевому слову this внутри компонента.
Новый — ещё не проверен сообществом
Вы