stati c getDerivedStateFromError () - PullRequest
       33

stati c getDerivedStateFromError ()

0 голосов
/ 04 августа 2020

Я читал до c о границах ошибок. В этом случае жизненный цикл stati c getDerivedStateFromError () обновил состояние hasError без setState?

  class ErrorBoundary extends React.Component {
  constructor(props) {
    super(props);
    this.state = { hasError: false };
  }

  static getDerivedStateFromError(error) {
    return { hasError: true };
  }

  render() {
    if (this.state.hasError) {
      return <h1>Something went wrong.</h1>;
    }

    return this.props.children; 
  }
}

1 Ответ

1 голос
/ 05 августа 2020

Это просто внутреннее устройство React.

React отвечает за выполнение методов жизненного цикла (а также за рендеринг). Если это так, React может обернуть такие методы в try / catch для обработки ошибок путем выполнения метода getDerivedStateFromError и последующего setState.

stati c природа этого метода необходима для исключения возможности любой стороны эффекты на компонент.

...