Graphql 如何在继电器发生突变后更新存储?
我正在努力想办法解决这个问题。我有一个具有当前用户的应用程序,因此,最上面的查询如下所示:Graphql 如何在继电器发生突变后更新存储?,graphql,relay,Graphql,Relay,我正在努力想办法解决这个问题。我有一个具有当前用户的应用程序,因此,最上面的查询如下所示: query AppQuery { currentUser { id email ...Account_currentUser ...AccountEdit_currentUser } } AccountEdit\u currentUser的定义如下: export default createFragmentContainer(Ac
query AppQuery {
currentUser {
id
email
...Account_currentUser
...AccountEdit_currentUser
}
}
AccountEdit\u currentUser
的定义如下:
export default createFragmentContainer(AccountEdit, {
currentUser: graphql`
fragment AccountEdit_currentUser on User {
email
name
nickName
}`
})
在AccountEdit
组件上。该组件执行此变异:
mutation AccountEditMutation($email: String!, $name: String!, $nickName: String!) {
updateAccount(input: {email: $email, name: $name, nickName: $nickName}) {
accountUpdated
currentUser {
id
email
name
nickName
}
}
}
之后,服务器返回电子邮件、姓名、昵称等的正确值。这些新值应如何在存储中结束?因为它似乎不是自动的。我需要编写自定义更新程序吗?和更新配置?我尝试了几次,但都没有找到一个合理的错误。存储的更新是自动进行的,原因是原始查询和后续查询中当前用户的节点ID不同。一旦我使它们相同,它就开始工作。存储区的更新会自动进行,原因是原始查询和后续查询中当前用户的节点ID不同。一旦我做了同样的,它就开始工作了