【发布时间】:2019-09-19 11:29:12
【问题描述】:
我正在学习 Apollo Server 和 Apollo Client 并遵循一些在线示例。我见过的一种范式是让 apollo-react 突变在
render() {
const {props: {history}} = this
const {state: {username, password}} = this
return <Mutation mutation={REGISTER}
onCompleted={() => history.push('/login')}>
{(register, {data, error, loading}) => {
if (error) {
return <div>{error.toString()}</div>
}
if (loading) return <div>Loading...</div>
return ({JSX form, etc})
它工作正常,当我收到错误时——例如,在我的情况下是重复注册——我会显示错误消息而不是正常的 JSX。我不知道该怎么做才能“重置”页面。也就是说,我希望能够采取一些措施来“清除”突变的错误,并让它像错误到来之前那样重新渲染 JSX(用户可以采取行动,或者我会将错误超时,然后“重置”页面)。如果我刷新页面,它可以正常工作,但显然我不想这样做!
我进行了一些搜索,并立即发现自己深入讨论了 Apollo 客户端缓存,这是我要学习的下一个列表。目前,我想知道是否有更简单的方法来做我想做的事情。
非常感谢任何线索!
【问题讨论】:
标签: reactjs graphql react-apollo apollo-client