Spaces:
Runtime error
Runtime error
import React, { useState } from 'react'; | |
export type ApiError = { | |
error: any; | |
setError: (error: any) => void; | |
}; | |
const ApiErrorBoundaryContext = React.createContext<ApiError | undefined>(undefined); | |
export const ApiErrorBoundaryProvider = ({ | |
value, | |
children, | |
}: { | |
value?: ApiError; | |
children: React.ReactNode; | |
}) => { | |
const [error, setError] = useState(false); | |
return ( | |
<ApiErrorBoundaryContext.Provider value={value ? value : { error, setError }}> | |
{children} | |
</ApiErrorBoundaryContext.Provider> | |
); | |
}; | |
export const useApiErrorBoundary = () => { | |
const context = React.useContext(ApiErrorBoundaryContext); | |
if (context === undefined) { | |
throw new Error('useApiErrorBoundary must be used inside ApiErrorBoundaryProvider'); | |
} | |
return context; | |
}; | |