我試圖使用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]