Estoy usando react-query para obtener datos. Escribí una función useQuery. Le pasé una función de devolución de llamada onError que maneja los errores que ocurren si la consulta falla.
Dentro de la función onError accedo al mensaje de propiedad del objeto err. El problema es que, a veces, aparece Cannot read property message of null . Justo antes del acceso a la propiedad, imprimí el valor del objeto err y es nulo. ¿Cómo puede la función de error obtener un objeto de error que es nulo?
Este es el código de useQuery:
export function useGetSubject(subjectId: string) { const guid = useGuid(); useEffect(() => { return () => store.dispatch(removeBackgroundIfErrorPresent(guid)); }, []) return useQuery<Subject, Error>(['subject', subjectId], () => { if (subjectId) { return serverAccess.subject.viewSubject(subjectId) } else { return null } }, { refetchInterval: 60*1000, enabled: subjectId !== null, retry: (failureCount: number, error: Error) => { if (error && error.message === "Subject does not exist") { return false; } if (failureCount >= 3) { return false; } return true; }, onSuccess: (data) => { store.dispatch(removeBackgroundErrorIfPresent(guid)); }, onError: (err) => { console.log("Error value", err) // When the bug occures, it prints null store.dispatch(addBackgroundError(err.message, guid)) } }); }Gracias !