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

282
Vistas
¿Cómo deshabilitar volver a llamar a la API después de hacer clic y ejecutar recuperar el gancho de consulta de reacción?

por ejemplo, tengo un componente para buscar y llamar a una API, pero esa consulta está enabled: false y debería activarla con onClick:

 const query = useQuery('key', fetch, { enabled: false }) const exec = () => query.refetch() return <button onClick={exec}>Load</button>

Pero tengo una nueva llamada API después de cada clic en el botón, en realidad quiero cancelar volver a llamar a la API aún así los datos almacenados en caché están disponibles y no están obsoletos...

¿Hay alguna forma de implementar algo como refetch para recuperar datos almacenados en caché pero sin volver a llamar a la API? ¿nuestra consulta básicamente de reacción tiene una llamada de recuperación para cualquier dato retenido?

de hecho, nuestros datos no cambian con frecuencia y se corrigen durante 2-3 días...

En otras palabras, nuestros clientes trabajan con frecuencia con menús desplegables anidados con las mismas llamadas a la API y quiero reducir las mismas consultas clave... imagina eso, algo así como categoría para seleccionar una marca para los productos.

Gracias

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede configurar las opciones staleTime y cacheTime de su consulta en Infinity para mantener su caché siempre disponible

captura de pantalla de documentos de consulta de reacción

https://react-query.tanstack.com/reference/useQuery

about 4 years ago · Juan Pablo Isaza Denunciar

0

imagina eso, algo así como categoría para seleccionar una marca para productos

Este es un ejemplo clásico para reaccionar-consulta en el que desea colocar todas las dependencias de su consulta en su clave de caché (consulte los documentos oficiales ). De esa manera, los cachés no se anularán entre sí y obtendrá instantáneamente los valores del caché si están disponibles. No es que también obtendrá una recuperación en segundo plano, y ahí es donde entra staleTime . Si no quiere eso, configure un staleTime más alto para recuperar solo el valor del caché si existe.

Para ilustrar, tomemos su ejemplo de una selección de categorías de productos:

 function MyComponent() { const [category, setCategory] = useState(null) const { data } = useQuery(['key', category], () => fetchProducts(category), { enabled: !!brand, staleTime: 1000 * 60 * 3 }) <CategorySelect onSelect={setCategory} /> }

Varias cosas están pasando aquí:

  1. Tengo algún estado local, donde almaceno la categoría seleccionada
  2. Esta selección impulsa la consulta. La consulta está deshabilitada mientras no tenga una selección, pero se habilita una vez que el usuario hace una selección
  3. cada vez que cambia la categoría, cambia la clave de consulta, lo que hará que react-query active una recuperación automáticamente, para los nuevos datos
  4. He configurado el staleTime en 3 minutos. Si elijo una categoría que ya he elegido, obtendré datos del caché. Dentro de 3 minutos, solo lo obtendré del caché. Si mis datos son más antiguos, los obtendré del caché y los datos también se actualizarán en segundo plano.
about 4 years ago · Juan Pablo Isaza 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