我试图使用update:在执行突变后更新查询。问题是,商店中的查询有几个不同的变量应用,我想更新查询并返回相同的变量。Apollo无法在更新中访问queryVariables:突变后
我在文档中发现updateQueries有一个选项来包含查询变量,这是最后执行查询的一组变量。
我还没有找到任何描述如何从更新内部检索queryVariables或类似的东西。
内更新:我可以用
lastQuery = Object.keys(store.data.ROOT_QUERY).slice(-1)[0]
将返回像"userRecipes({"first":20,"minTime":0,"maxTime":500,"filterType":"Explore","searchTerm":""})"
的哈克的方式,我现在正在做的这个就是解析字符串中拉出的变量,所以我的结果终于可以用readQuery像这样:
const lastQuery = Object.keys(store.data.ROOT_QUERY).slice(-1)[0]
const searchPosition = lastQuery.search("searchTerm")
const searchTerm = lastQuery.slice((searchPosition + 13),-3)
// also parsing the lastQuery string for filterType, minTime, maxTime
const data = store.readQuery({
query: QUERY_USER_RECIPES,
variables: {
filterType: filterType,
searchTerm: searchTerm,
minTime: minTime,
maxTime: maxTime,
}
});
这不可能做到这一点的最好办法。有更简单的方式来访问更新内的变量吗?
似乎应该有一种方法来读取存储中的现有查询和变量,而不用readQuery传递变量。
感谢您看看这个问题!
版本
[email protected] [email protected]