在使用ApolloClient时,将graphQL的query和mutation使用string模板字符串的形式包裹起来,避免出现类型错误。例如:
import gql from 'graphql-tag'
import { ApolloClient, InMemoryCache } from '@apollo/client'
interface Todo {
id: number
text: string
}
interface Todos {
todos: Todo[]
}
const client = new ApolloClient({
uri: 'https://example.com/graphql',
cache: new InMemoryCache(),
})
async function fetchTodos() {
const GET_TODOS = gql`
query {
todos {
id
text
}
}
`
const result = await client.query({
query: GET_TODOS
})
console.log(result.data.todos)
}
fetchTodos()