Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

176
Views
Apollo useQuery no siempre desencadena la repetición del componente de la función

Este es mi componente funcional que utiliza useQuery de @apollo/client :

 function MyComponent(props) { const { data } = useQuery<MarketScannerSearchProps>( MARKET_SCANNER_SEARCH_PROPS_QUERY, { onCompleted: (data) => { console.log("completed", data) }, } ) console.log("data", data) // ... rest of function + return rendered result }

Me sale esto en mi consola:

 data undefined data undefined completed {marketScannerSearchProps: {…}}

¿Por qué no hay data {marketScannerSearchProps: {…}} al final?

Esto no siempre es reproducible, solo ocurre cada 5 recargas de mi aplicación. Así es como se ve cuando funciona:

 data undefined data {marketScannerSearchProps: {…}} completed {marketScannerSearchProps: {…}}

Entonces, de alguna manera, la segunda vez que se procesa el componente, los datos están allí, pero no siempre, y si los datos no están allí en el segundo procesamiento, nunca se actualizan después.

¿No debería Apollo desencadenar una nueva representación cada vez que se completa la consulta? ¿Que me estoy perdiendo aqui?

EDITAR: Creo que este problema podría haber desaparecido ahora. Cerré y abrí Chrome Dev Tools varias veces, y ahora parece que ya no está. ¿Podría ser que el almacenamiento en caché del lado del cliente de Apollo se estropee?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!