Spaces:
Runtime error
Runtime error
| import React from 'react'; | |
| import ErrorBoundary from '../containers/error-boundary.jsx'; | |
| /* | |
| * Higher Order Component to provide error boundary for wrapped component. | |
| * A curried function, call like errorHOC(<tracking label>)(<Component>). | |
| * @param {string} action - Label for GA tracking of errors. | |
| * @returns {function} a function that accepts a component to wrap. | |
| */ | |
| const ErrorBoundaryHOC = function (action){ | |
| /** | |
| * The function to be called with a React component to wrap it. | |
| * @param {React.Component} WrappedComponent - Component to wrap with an error boundary. | |
| * @returns {React.Component} the component wrapped with an error boundary. | |
| */ | |
| return function (WrappedComponent) { | |
| const ErrorBoundaryWrapper = props => ( | |
| <ErrorBoundary action={action}> | |
| <WrappedComponent {...props} /> | |
| </ErrorBoundary> | |
| ); | |
| return ErrorBoundaryWrapper; | |
| }; | |
| }; | |
| export default ErrorBoundaryHOC; | |