UNPKG

@botonic/react

Version:

Build Chatbots using React

36 lines (29 loc) 753 B
// @ts-nocheck import { isNode } from '@botonic/core' import React, { useState } from 'react' import { Text } from '../components/text' export const createErrorBoundary = ({ errorComponent = ({ errorMessage }) => ( <Text>The message cannot be displayed</Text> ), } = {}) => { const ErrorBoundary = ({ children }) => { const [error, setError] = useState(null) const componentDidCatch = (error, errorInfo) => { if (isNode()) { console.error(`Failure at:`, error) } } const getDerivedStateFromError = error => { return { error } } if (error) { return errorComponent({ errorMessage: error.message, }) } else { return children } } return ErrorBoundary }