Как правильно использовать react-error-boundary в react?

#reactjs #react-error-boundary

#reactjs #реагировать-ошибка-граница

Вопрос:

Я реализовал один пример библиотеки react-error-boundary npm. Но, похоже, это не сработало должным образом.

 import * as React from 'react';
import { ErrorBoundary } from 'react-error-boundary';

function ErrorFallback({ error }) {
  return (
    <div role="alert">
      <p>Something went wrong:</p>
      <pre style={{ color: 'red' }}>{error.message}</pre>
    </div>
  );
}

function Greeting({ subject }) {
  return <div>Hello {subject.toUpperCase()}</div>;
}

function Farewell({ subject }) {
  return <div>Goodbye {subject.toUpperCase()}</div>;
}

function App() {
  return (
    <ErrorBoundary FallbackComponent={ErrorFallback}>
      <Greeting />
      <Farewell />
    </ErrorBoundary>
  );
}

export default App;

 

Сообщение об ошибке показано ниже:

введите описание изображения здесь

Кажется, что ErrorFallback компонент не отображается. Я думаю, что я делаю что-то не так, что нарушает код.

Ответ №1:

Это предполагаемое поведение границы ошибок во время разработки. Нажмите кнопку закрыть (X) в правом верхнем углу, чтобы скрыть стек ошибок, и вы увидите резервный вариант границы ошибки

В рабочей среде стек ошибок отображаться не будет, и пользователи будут видеть только резервный вариант границы ошибки.

Комментарии:

1. Это предполагаемое поведение error boundary во время разработки и во время производства, сообщение об ошибке будет отображаться вместо полностью белого экрана. Когда мы нажимаем кнопку X close, отображается фактическое сообщение об ошибке резервного копирования.

2. Спасибо — ваш комментарий был написан более четко, чем мой ответ. Я обновил свой ответ, чтобы он соответствовал.