Я пытаюсь заставить мой ErrorBoundary
работать.
ErrorBoundary
так же просто, как в большинстве примеров:
export class ErrorBoundary extends React.Component<IErrorBoundaryProps, IErrorBoundaryState> {
componentDidCatch(error: Error, errorInfo: Object): void {
this.setState({ catchedError: error });
}
render(): JSX.Element | React.ReactNode {
const { children } = this.props;
const { catchedError } = this.state;
if (catchedError)
return (<div>Something went wrong</div>);
// return the children
return children;
}
}
И другой компонент, использующий ErrorBoundary:
export class Test extends React.Component<ITestProps, ITestState> {
render(): JSX.Element | React.ReactNode {
const test:string = null;
return (
<ErrorBoundary>
{test.length}
</ErrorBoundary>
);
}
}
Однако Something went wrong
никогда не отображается.Я понятия не имею, что здесь происходит не так, как все примеры там делают то же самое.Есть идеи, с чего начать поиск проблемы?