ApolloConsumer直接更新缓存

时间:2019-05-07 11:36:57

标签: javascript reactjs apollo-client

如何使用ApolloConsumer更新缓存?我的目标是从缓存中的uploadCustomers数据中删除一个对象。不使用Mutation,而是使用ApolloConsumer。

在这种情况下,删除项目时不会发生任何突变,因此我无法使用refetchQueriesupdate()。我只需要更新缓存即可将其删除。

<ApolloConsumer>
    {({ cache }) => (
        <IconButton type="trash" onClick={() => {
            let otherItems = remove(data.uploadCustomers, function (item) {
                return item.orgnr != orgnr
            })
            console.log(otherItems)
            cache.writeData({
                data: {
                    uploadCustomers: otherItems
                }
            })
        }} />
    )}
</ApolloConsumer>

console.log返回所有未删除的项目。

0 个答案:

没有答案