我正在努力弄清楚它应该如何工作。我有一个具有当前用户的应用程序,因此,最上面的查询如下:
query AppQuery {
currentUser {
id
email
...Account_currentUser
...AccountEdit_currentUser
}
}
AccountEdit_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
}
}
}
在此之后,服务器将为电子邮件,姓名,昵称等返回正确的值。这些新值应如何最终存储在商店中?因为它似乎不是自动的。我需要编写自定义更新程序吗?并更新配置?我试了几次,但我什至无法找到甚至引发合理错误的地方。
答案 0 :(得分:0)
此存储的更新是自动进行的,之所以没有进行更新,是因为原始查询和后续查询中当前用户的node_ids不同。一旦使它们相同,它就会开始工作。