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?