Javascript GraphQL Apollo:Apollo客户端查询中未提供变量错误,尽管我想我已设置了该变量
这个基本的客户端查询有什么问题Javascript GraphQL Apollo:Apollo客户端查询中未提供变量错误,尽管我想我已设置了该变量,javascript,graphql,apollo-client,Javascript,Graphql,Apollo Client,这个基本的客户端查询有什么问题 import gql from 'graphql-tag' export default (context, apolloClient, userId) => ( apolloClient.query({ query: gql` query RootQueryType($userId: ID!) { verifyUser( id: $userId ) { id,
import gql from 'graphql-tag'
export default (context, apolloClient, userId) => (
apolloClient.query({
query: gql`
query RootQueryType($userId: ID!) {
verifyUser(
id: $userId
) {
id,
token
}
},
`,
options: {
variables: { userId: userId }
}
}).then(({ data }) => {
return { loggedInUser: data }
}).catch((error) => {
console.log(error)
return { loggedInUser: {} }
})
)
我确实得到了错误:GraphQL错误:所需类型ID的变量$userId!没有提供。。但是我用这些数据设置了选项和变量。
我不知道我做错了什么。我认为您在查询定义中有问题: gql` 查询RootQueryType$userId:ID!{ 验证用户 userId:$userId//这里您需要将参数设置为userId { 身份证件 代币 }
}` 第一个userID应该是id而不是userID,它还应该在Apollo服务器中定义为id以匹配您的查询 更改: 选项:{ 变量:{userId:userId}
}也许我遗漏了什么,但我几乎看不出你的和OPS有什么区别问题和答案的主要区别是:问题:verifyUserid:$userId答案:verifyUserid:$userId这应该是这样的,因为在查询的定义中需要userId参数。这就是graphQL错误试图告诉我们的