Tengo un enlace que hace una llamada Graphql
export const useGetStuff = (options?: QueryHookOptions<GetStuffResponse, GetStuffQueryArgs>) => { const [stuffId] = useStuffId(); return useQuery<GetStuffResponse, GetStuffQueryArgs>(getStuff, { variables: { stuffId }, notifyOnNetworkStatusChange: true, skip: !stuffId, ssr: false, ...options, }); };Y estoy usando este gancho en otro gancho
const useCustomHook = () => { // some unrelated stuff const { data: stuffData, loading } = useGetStuff(); // do logic with stuffData and other unrelated stuff return { someProperty }; } y en algún componente, estoy usando useGetStuff y useCustomHook .
const MyComponent = () => { const { someProperty } = useCustomHook(); const { data ,loading } = useGetStuff(); // stuff } Esta implementación hace que la consulta getStuff se llame dos veces (dos llamadas de red).
¿Existe una manera simple de evitar eso sin tener que mantener useGetStuff solo en el enlace personalizado, ya que este último no debería devolver los datos de stuffData ?