UNPKG

@tolokoban/ui

Version:

React components with theme

21 lines 1.93 kB
import React from "react"; export class ErrorBoundary extends React.Component { constructor(props) { super(props); this.state = { hasError: false }; } static getDerivedStateFromError(error) { console.error("Error catched in the ErrorBoundary:", error); // Update state so the next render will show the fallback UI. return { hasError: true }; } componentDidCatch(error, info) { var _a, _b; console.log("🚀 [ErrorBoundary.componentDidCatch()] error, info = ", error, info); // @FIXME: Remove this line written on 2024-06-06 at 10:31 (_b = (_a = this.props).onError) === null || _b === void 0 ? void 0 : _b.call(_a, error, info); } render() { return this.state.hasError ? this.props.fallback : this.props.children; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JCb3VuZGFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FcnJvckJvdW5kYXJ5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFZekIsTUFBTSxPQUFPLGFBQWMsU0FBUSxLQUFLLENBQUMsU0FHeEM7SUFDRyxZQUFZLEtBQXlCO1FBQ2pDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUE7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FDM0IsS0FBYztRQUVkLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDM0QsNkRBQTZEO1FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVksRUFBRSxJQUFxQjs7UUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FDUCx1REFBdUQsRUFDdkQsS0FBSyxFQUNMLElBQUksQ0FDUCxDQUFBLENBQUMsMERBQTBEO1FBQzVELE1BQUEsTUFBQSxJQUFJLENBQUMsS0FBSyxFQUFDLE9BQU8sbURBQUcsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFBO0lBQzFFLENBQUM7Q0FDSiJ9