如何解决变异不是函数?
我想通过使用 graphql 来使用社交登录。 我想通过使用 kakalogin 函数从社交登录中获取 accesstoken,然后使用 kakakoLoginMutation 函数使用它来制作令牌。
我尝试将常量名称设为 access_token(=="123") 如果我成功通过 kakao 登录,我会通过 authObj 获得 accss_token。然后我使用 setAccess_token(useState) 将其设置为 const access_token。
console.log(authObj.access_token) 显示正确的字符串。 但是在 setAccess_token(authObj.access_token) 之后,console.log(access_token) 显示“123”。
我认为 console.log(access_token) 必须不显示“123”其他字符串。 另一个错误是 KakaoLoginMutation 不是函数。
import { useState } from "react";
import { useMutation } from "react-apollo-hooks";
import { KAKAO_LOGIN,LOCAL_LOG_IN } from "./AuthQuery";
export default () => {
const [access_token,setAccess_token] = useState("123");
const localLogInMutation = useMutation(LOCAL_LOG_IN);
const kakaoLoginMutation = useMutation(KAKAO_LOGIN,{
variables: { provider: "kakao",accesstoken: access_token },});
const kakaoLogin = async (e) => {
e.preventDefault();
window.Kakao.Auth.login({
success: function (authObj) {
setAccess_token(authObj.access_token);
console.log(authObj.access_token);
console.log(access_token);
},});
const {
data: { socialAuth: token },} = await kakaoLoginMutation();
console.log(token);
if (token !== "" && token !== undefined) {
localLogInMutation({ variables: { token } });
}
};
return (
<a href="#" onClick={kakaoLogin}>
<h1>카카오로그인</h1>
</a>
);
};
Query.js
import { gql } from "apollo-boost";
export const KAKAO_LOGIN = gql`
mutation SocialAuth($provider: String!,$accesstoken: String!) {
socialAuth(provider: $provider,accesstoken: $accesstoken) {
token
}
}
`;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。