0

PasswordUpdated当事件发布到频道时,我正在尝试更新我之前检索到的用户密码。这是我到目前为止所尝试的,

this.apollo.subscribe({
  query: this.passwordUpdatedSubscription
}).subscribe(({passwordUpdated}:any) => {
  this.userDataQuery.updateQuery((previousResult) => {
    previousResult.getUsers.filter(user => user.name === passwordUpdated.name).forEach(user => user.password = passwordUpdated.password);
  });

});

但是,我刚刚从控制台中的错误中发现previousResult是不可变的。当我尝试在 中更新密码时previousResult,该属性具有writable: false. 我该如何解决这个问题?

4

1 回答 1

0

您必须返回更改后的先前结果。查看apollo 客户端的订阅文档。下面一点是更新查询的重点。

你可能想检查反应不变性助手,它解释了一点问题是什么。

于 2017-03-18T10:30:13.957 回答