GraphQL Apollo 接收数据对象未定义
Posted
技术标签:
【中文标题】GraphQL Apollo 接收数据对象未定义【英文标题】:GraphQL Apollo recieving data object undefined 【发布时间】: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
`;
在浏览器网络中,我可以看到我收到了数据。但是我的数据对象仍然是空的,当我尝试打印出来时......帮助!
【问题讨论】:
【参考方案1】:发现我需要在注册后用 then 承诺等待响应
).then ((res: any) =>
errorMessage = res.data.register.token;
);
【讨论】:
以上是关于GraphQL Apollo 接收数据对象未定义的主要内容,如果未能解决你的问题,请参考以下文章
Apollo GraphQL 客户端“网络错误:在未定义的对象上找不到字段 XXXX”,disableOffline:false
如何在调用 Apollo Graphql Query 之前等待服务器响应?
React Native:为啥使用 Apollo 的 GraphQL 查询返回未定义?
使用嵌套对象获取 React 中 Graphql 的问题 - 对象未定义