AWS AppSync突变重新呈现突变视图

时间:2018-06-23 17:32:23

标签: reactjs aws-appsync

我有一个测试应用,可以订阅待办事项列表。但是我添加的新todo变异也乐观地更新了UI。 问题是现在正在刷新整个反应视图,我不知道为什么。

这是罪魁祸首,发生在我运行此突变时:

export default graphql(addItem, {
  options: {
    fetchPolicy: 'cache-and-network'
  },
  props: props => ({
    onAdd: item =>
      props.mutate({
        variables: item,
        optimisticResponse: {
          __typename: 'Mutation',
          addItem: { ...item, __typename: 'Item' }
        },
        update: (proxy, { data: { addItem } }) => {
          let data = proxy.readQuery({ query: listItems });
          data.listItems.items.push(addItem);
          proxy.writeQuery({ query: listItems, data });
        }
      })
  })
})(AddItem);

enter image description here

1 个答案:

答案 0 :(得分:0)

事实证明,在没有所有查询字段(在我的情况下是由服务器添加“我创建的”)的情况下,对项进行本地变异会导致整个查询变异失败,但会无声无息。有一个解决方法:https://github.com/apollographql/apollo-client/issues/3267

希望这可以帮助其他人入门!