簡體   English   中英

如何使用阿波羅突變 Graphql 登錄 api?

[英]how to login using apollo mutation Graphql login api?

 const LoginQuery = gql`
  mutation {
    login(data: {
      email: "cherineewong@gmail.com",
      password: "Imagine100!"
  
    })
  } 
`;

這是我的 graphql 登錄 api 突變代碼我沒有得到任何回應。 得到像這樣的錯誤Invariant Violation: Running a Query requires a graphql Query, but a Mutation was used instead. 我也使用這樣的查詢關鍵字,

  const LoginQuery = gql`
  query mutation {
    login(data: {
      email: "cherineewong@gmail.com",
      password: "Imagine100!"
  
    })
  } 
`;

const { loading, error, data } = useQuery(LoginQuery);
console.log(data)

然后在此處輸入圖像描述時出現錯誤

對於突變,您應該使用 apollo 的useMutation鈎子

參考: https://www.apollographql.com/docs/react/api/react/hooks/#usemutation

你應該使用 apollo 的useMutation鈎子

import { useMutation } from "@apollo/client"

export const LOGIN_MUTATION = gql`
    mutation Login($email: String!, $password: String) {
       login(input: { email: $email, password: $password }) {
          message // ... the keys which you expecting in response from the server.
         
       }   
    } 
`

const [submitLogin] = useMutation(LOGIN_MUTATION);

然后你可以像這樣使用句柄登錄方法

const response = await submitLogin({ variables:
  { 
    email: "cherineewong@gmail.com",
    password:  "Imagine100!"
  }
});
console.log('response -- ', response);

供參考https://www.apollographql.com/docs/react/api/react/hooks/#usemutation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM