带变量的Apollo查询

Chr*_*ger 7 apollo graphql react-apollo

只是一个基本的apollo查询请求

this.client.query({
  query: gql`
    {
      User(okta: $okta){
        id
      }
    }`
}).then(result => {
  this.setState({userid: result.data.User});
  console.log(this.state.userid.id)
}).catch(error => {
  this.setState({error: <Alert color="danger">Error</Alert>});
});
Run Code Online (Sandbox Code Playgroud)

问题是,如何/在何处设置$ okta变量.

没有在Stackoverflow或Google上找到解决方案 - 如果有人可以帮助我会很棒:)

Mik*_*ank 16

它应该是这样的:

const query = gql`
  query User($okta: string) {
    User(okta: $okta){
      id
    }
  }
`;

client.query({
  query: query,
  variables: {
    okta: 'some string'
  }
})
Run Code Online (Sandbox Code Playgroud)

有关所有详细信息的Apollo客户端文档可在此处找到:https://www.apollographql.com/docs/react/api/apollo-client.html#ApolloClient.query

  • 但应该注意的是,这个通用功能只能在文档的 React 部分下找到,这非常荒谬。 (4认同)