我正在尝试对整个应用程序的 apollo-link 处理程序中的数据进行变异:我想删除所有边缘/节点,以简化应用程序中数据的处理。
const consoleLink = new ApolloLink((operation, forward) => {
return forward(operation).map((data) => {
let data = getRidOfEdges(inData)
return data
})
})
当我尝试更改数据并返回数据的修改副本时,我的 vue 组件中的 apollo 处理程序会得到一个空的数据对象={}
。我也尝试就地改变数据,但这也不起作用:vue 组件获取原始的不变data
。
apollo: {
moduleQuery: {
query: MODULE_DETAILS_QUERY,
variables: {
slug: 'video'
},
fetchPolicy: 'network-only',
manual: true,
result({data, loading, networkStatus}) {
// after mutating data, I get
// data == {}
}
这种行为的解释是什么?以及如何实现 Apollo 链接以能够改变数据?这可能吗?