export default class ErrorBoundary extends PureComponent { static propTypes = { children: PropTypes.node, } state = { hasError: false, stackTrace: undefined, componentStack: undefined, } componentDidCatch(error, info) { this.setState({ hasError: true, stackTrace: error.stack, componentStack: info && info.componentStack, }) } render() { const { hasError } = this.state if (!hasError) return this.props.children // : todo : custom error page return (
) } }