Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

106
Vistas
No se ha establecido QueryClient, use QueryClientProvider para establecer uno

Estaba tratando de reaccionar a la consulta por primera vez y luego obtuve esto al comienzo de mi aplicación React. ingrese la descripción de la imagen aquí

 import React from 'react' import { useQuery } from "react-query"; const fetchPanets = async () => { const result = await fetch('https://swapi.dev/api/people') return result.json() } const Planets = () => { const { data, status } = useQuery('Planets', fetchPanets) console.log("data", data, "status", status) return ( <div> <h2>Planets</h2> </div> ) } export default Planets
over 4 years ago · Santiago Trujillo
5 Respuestas
Responde la pregunta

0

import { QueryClient, QueryClientProvider, useQuery } from 'react-query'; const queryClient = new QueryClient(); const fetchPanets = async () => { const result = await fetch('https://swapi.dev/api/people') return result.json() } const Planets = () => { const { data, status } = useQuery('Planets', fetchPanets) console.log("data", data, "status", status) return ( <div> <h2>Planets</h2> </div> ); } export default function Wraped(){ return(<QueryClientProvider client={queryClient}> <Planets/> </QueryClientProvider> ); }
over 4 years ago · Santiago Trujillo Denunciar

0

Si bien esto suele deberse a que su aplicación no está envuelta en un <QueryClientProvider> , en mi caso sucedió porque estaba importando algunos componentes compartidos, que terminaron con un contexto diferente. Puede solucionar esto configurando la opción contextSharing en true

Eso se vería como:

 import { QueryClient, QueryClientProvider } from 'react-query' const queryClient = new QueryClient() function App() { return <QueryClientProvider client={queryClient} contextSharing={true}>...</QueryClientProvider> }

De los documentos: ( https://react-query.tanstack.com/reference/QueryClientProvider )

contextSharing : booleano (predeterminado en falso)

Establezca esto en verdadero para habilitar el uso compartido de contexto, que compartirá la primera y al menos una instancia del contexto en la ventana para asegurarse de que si React Query se usa en diferentes paquetes o microfrontends, todos usarán la misma instancia de contexto, independientemente de alcance del módulo.

over 4 years ago · Santiago Trujillo Denunciar

0

Estaba tratando de arreglar lo mismo:

Seguí los documentos de React Query y usé el concepto de componente de orden superior

A ver si te ayuda:
 import React from 'react'; import { QueryClient, QueryClientProvider, useQuery } from 'react-query'; import Planet from './Planet'; const queryClient = new QueryClient(); const fetchPlanets = async () => { const res = await fetch('http://swapi.dev/api/planets/'); return res.json(); } const Planets = () => { const { data, status } = useQuery('planets', fetchPlanets); return ( <div> <h2>Planets</h2> { status === 'loading' && (<div>Loading data...</div>)} { status === 'error' && (<div>Error fetching data</div>)} { status === 'success' && ( data.results.map(planet => <Planet key={planet.name} planet={planet} /> ) ) } </div> ) } // Higher order function const hof = (WrappedComponent) => { // Its job is to return a react component warpping the baby component return (props) => ( <QueryClientProvider client={queryClient}> <WrappedComponent {...props} /> </QueryClientProvider> ); }; export default hof(Planets);
over 4 years ago · Santiago Trujillo Denunciar

0

Como sugiere el error, debe envolver su aplicación en un QueryClientProvider . Esto está en la primera página de los documentos :

 import { QueryClient, QueryClientProvider, useQuery } from 'react-query' const queryClient = new QueryClient() export default function App() { return ( <QueryClientProvider client={queryClient}> <Example /> </QueryClientProvider> ) }
over 4 years ago · Santiago Trujillo Denunciar

0

Simplemente haga cambios como a continuación, funcionará bien

 import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import { QueryClient, QueryClientProvider } from "react-query"; const queryClient = new QueryClient(); ReactDOM.render( <QueryClientProvider client={queryClient}> <App /> </QueryClientProvider>, document.getElementById('root') );
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda