Call a function on error

You can use useError to call a function on error.

useError(query, onerror)

Motivation

You want to disconnect a user when you receive a HTTP 401 (Unauthorized) error.

Example

function useFetchAndLogErrorMixture(query: Query) {
useFetch(query)
useError(query, console.error)
}

Implementation

export function useError<D = any, E = any>(
query: Query<D, E>,
callback: (e: E) => void
) {
const { error } = query
useEffect(() => {
if (error !== undefined) callback(error)
}, [error, callback])
}

See also