Reactjs AWS AppSync突变重新呈现突变视图
我有一个测试应用程序,我订阅了一个TODO列表。但我的“添加新的待办事项”也乐观地更新了用户界面。 问题是它现在正在刷新整个react视图,我不知道为什么 这是罪魁祸首,当我运行此变异时发生:Reactjs AWS AppSync突变重新呈现突变视图,reactjs,aws-appsync,Reactjs,Aws Appsync,我有一个测试应用程序,我订阅了一个TODO列表。但我的“添加新的待办事项”也乐观地更新了用户界面。 问题是它现在正在刷新整个react视图,我不知道为什么 这是罪魁祸首,当我运行此变异时发生: export default graphql(addItem, { options: { fetchPolicy: 'cache-and-network' }, props: props => ({ onAdd: item => props.mutate
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);
事实证明,在没有所有查询字段的情况下对项目进行本地变异(在我的例子中,“创建”是由服务器添加的)会导致整个查询变异失败,但不会发生任何变化。路上有个补丁:
希望这能帮助其他人起步 进一步调试表明,出于某种原因,在更新之前将my props.items数组设置为[]。每次它更新。不知道为什么。