Estoy revisando una base de código existente, mirando algunos ganchos de obtención de datos que usan useQuery
Me doy cuenta de que, en casi todas partes, se tiene cuidado de que los argumentos pasados en el gancho useQuery (y otros ganchos react-query similares) sean referencialmente los mismos entre las ejecuciones del gancho.
Por ejemplo
//custom_data_fetching_hook.js import { useQuery } from 'react-query'; function fetchSomeStuff() { // server data request implementation } const queryOptions = { // object as described in the 3rd argument here: // https://react-query.tanstack.com/reference/useQuery }; export function useSomeServerStuff() { return useQuery(['query key'], fetchSomeStuff, queryOptions); }Mi pregunta es esta:
¿Es necesario asegurar la estabilidad referencial para los useQuery , useMutation , etc.? Por lo que pude ver, los documentos no dicen que debas hacer esto.
¿Los ganchos react-query rehacen los cálculos en cada componente que se vuelve a renderizar si sus argumentos no son referencialmente los mismos entre los renders?
¿Los ganchos react-query devolverían algunos elementos referencialmente diferentes dentro de su valor de objeto devuelto si sus argumentos no son referencialmente los mismos entre los renderizados? (por ejemplo, la función de mutate dentro del objeto de retorno de useMutation )