I am trying to write an error handler, but I get this error: React Hook "useHttpErrorHandler" cannot be called inside a callback. React Hooks must be called in a React function component or a custom React Hook function I don't how else can I handle this errorHandler.
this is withErrorHandler :
const WithErrorHandler = (WrappedComponent, axios) => {
return props => {
const [error, clearError] = useHttpErrorHandler(axios);
return (
<div>
<ErrorModal show={error} errorModalClosed={clearError}>
{error ? error.message : null}
</ErrorModal>
<WrappedComponent {...props}/>
</div>
)
}
};
export default WithErrorHandler;
and this is http-error-handler:
export default httpClient => {
const [error, setError] = useState(null);
const reqInterceptor = httpClient.interceptors.request.use(req => {
setError(null);
return req;
});
const resInterceptor = httpClient.interceptors.response.use(
res => res,
err => {
setError(err);
}
);
useEffect(() => {
return () => {
httpClient.interceptors.request.eject(reqInterceptor);
httpClient.interceptors.response.eject(resInterceptor);
};
}, [reqInterceptor, resInterceptor])
const errorConfirmHandler = () => {
setError(null);
};
return [error, errorConfirmHandler]
}