我的 Apollo 缓存中存储了很多活动查询,例如:
items(isPublished: true, orderBy: "name", filterByName: "")
items(isPublished: true, orderBy: "name", filterByName: "home")
items(isPublished: false, orderBy: "name", filterByName: "home")
items(isPublished: true, orderBy: "age", filterByName: "home")
...
因此,同一查询(GET_ITEMS )的许多可能变量,具有越来越多的过滤器。当我想添加、移动或删除一个项目时,我会使用 Mutation 组件的属性更新来更新 Apollo Cache,例如:
import gql from "graphql-tag";
import { Mutation } from "react-apollo";
const ADD_ITEM = gql`
mutation AddItem(...
`;
...
<Mutation mutation={ADD_ITEM} variables={...} update={() => ...} />
但是,如果我想很好地更新我所有的缓存查询......我如何做到这一点?对于每个查询,我是否必须在更新函数中缓存.readQuery和cache.writeQuery ?那对我来说太疯狂了。
我迷路了。提前致谢。