1
resposta

[Bug] O Apollo Client nao funciona direito

No video "Instalando o Apollo Client no projeto" eu instalei porém não consegui importar o ApolloProvider. E tbm no vídeo "Criando a primeira Query com GraphQL e Apollo Client" o useQuery não foi importado, dando o seguinte error no Console do Navegador: "The request nodule 'node_modules/.vite/deps/@apollo_client.js?v=5fd8dd35' does not provide an export named

1 resposta

Olá amigo.
Primeiro, é importante garantir que você instalou as versões corretas das dependências.
No caso do Apollo Client e GraphQL, as versões podem ter mudanças significativas que afetam a forma de importação e uso.
Certifique-se de ter as seguintes dependências no seu package.json:

"dependencies": {
  "@apollo/client": "^3.5.0", 
  "graphql": "^15.0.0"
}

Se não estiverem lá, ou se você não tem certeza, tente rodar:

npm install @apollo/client graphql

O erro sugere que a importação de módulos não está funcionando corretamente.
Isso pode ser causado por problemas de configuração de bundler, ou pela forma incorreta de importar os módulos.
Tente importar o ApolloProvider e o useQuery da seguinte forma:

import { ApolloProvider, InMemoryCache } from '@apollo/client';
import { useQuery, gql } from '@apollo/client';

Importante: Certifique-se de que você está importando do @apollo/client, e não de algum outro pacote ou caminho.
Se você está usando o ApolloProvider para envolver a aplicação, ele deve ser configurado com um ApolloClient e um InMemoryCache.
Exemplo de configuração básica:

import React from 'react';
import ReactDOM from 'react-dom';
import { ApolloProvider, InMemoryCache } from '@apollo/client';
import App from './App';

const client = new ApolloClient({
  uri: 'https://your-graphql-endpoint.com/graphql', // Substitua com seu endpoint GraphQL
  cache: new InMemoryCache(),
});

ReactDOM.render(
  <ApolloProvider client={client}>
    <App />
  </ApolloProvider>,
  document.getElementById('root')
);

Se você estiver usando o Vite, há algumas coisas a verificar:
Certifique-se de que você tem a configuração correta do Vite para lidar com dependências externas.
Se a importação ainda estiver falhando, tente limpar o cache do Vite:

rm -rf node_modules/.vite
npm run dev

Se o erro persistir, tente verificar o que exatamente está sendo exportado pelo módulo @apollo/client:
No console do navegador, você pode tentar rodar:

console.log(require('@apollo/client'));

Isso deve te mostrar as exportações disponíveis, e pode te ajudar a diagnosticar se a biblioteca está sendo carregada corretamente.
Se você estiver usando ES Modules no Node.js ou Vite, as importações podem ser sensíveis a caminhos e extensões.
Verifique se o arquivo está sendo carregado corretamente, e que você está utilizando as importações no formato correto.
Testa ai e me retorna os resultados.
Avise alguma duvida.
Bons estudos.