【问题标题】:GraphQL Apollo recieving data object undefinedGraphQL Apollo 接收数据对象未定义
【发布时间】:2019-03-10 20:20:27
【问题描述】:

我正在做一个突变,它需要一个用户名和密码,并作为来自服务器的响应,它得到一个登录响应。

<Mutation mutation={SIGN_UP}>
        {(signUp, data) => (
         <form onSubmit={e => {
            e.preventDefault();
            signUp({
                 variables: { 
                    user: {
                    "email": input_email.value as String, 
                    "password": input_password.value as String
                    }
                }
            });
            console.log("Signup", signUp)
            console.log("Data", data.data);

            input_email.value = "";
            input_password.value = "";
         }}>
            <div className="col-sm">
                <div className="signin__header">Signup IMPACT R&D</div>
            </div>
            <div className="col-sm signin__input" >
                <div className="signin__input__header" >Email</div>
                <input className="signin__input__email" type="text" placeholder="Enter email" required ref={node=> {input_email = node}}></input>
                <div className="signin__divide-line"></div>
            </div>
            <div className="col-sm signin__input">
                <div className="signin__input__header" >Password</div>
                <input className="signin__input__password" type="password" placeholder="Enter password" ref={node=> {input_password = node}}></input>
                <div className="signin__divide-line"></div>
            </div>
            <div className="col-sm-3">
                <button className="signin__input__button" type="submit">Sign Up</button>
            </div>
         </form>
    )}
</Mutation>

这是我的 GraphQLtag。

 export const SIGN_UP : any = gql`
 mutation Register($user: UserInput!) {
    register(user: $user) {
        status,
        refreshToken,
        token,
        error
    }
 } 
`;

在浏览器网络中,我可以看到我收到了数据。但是我的数据对象仍然是空的,当我尝试打印出来时......帮助!

【问题讨论】:

    标签: graphql apollo react-apollo mutation


    【解决方案1】:

    发现我需要在注册后用 then 承诺等待响应

    }).then ((res: any) => {
    errorMessage = res.data.register.token;
    });
    

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 2020-03-01
      • 2017-02-07
      • 2019-10-06
      • 2017-09-14
      • 2021-11-12
      • 2021-03-25
      • 2021-04-17
      • 2020-03-05
      相关资源
      最近更新 更多