Я пытаюсь реализовать обновление кэша после мутаций для реакции-apollo-hooks.
const onDeleteHandler = useMutation(DELETE_POST, {
update: (proxy, mutationResult) => {
/* custom update logic */
try {
const { deletePost } = mutationResult.data;
const postFeed = proxy.readQuery({
query: GET_POSTS, variables
})
console.log("postFeed", postFeed)
proxy.writeQuery({ query: GET_POSTS })
}
catch(error){
console.log("Cache update error", error)
}
},
})
В настоящее время я получаю следующее сообщение об ошибке:
Ошибка записи результата для сохранения по запросу "kind": "SelectionSet", "selections": [{"вид ":" поле " "имя": { "вид": "имя", "значение": "идентификатор"}, "аргументы": [], "директива": []}, { "вид":"поле " "имя": { "вид": "имя", "значение": "имя"}, "аргументы": [], "директива": []}, { "вид": "поле","имя ": {" вид ":" имя», "значение": "LastName"}, "аргументы": [], "директивы": []}, { "вид": "поле", "имя": {"вид": "название", "значение": "__ Ьурепат"}}]}}, { "вид": "поле", "название": { "вид": "название", "значение": "__ Ьурепат"}}]}}]}}], "loc": {"start": 0, "end": 434}
Я догадываюсь, что методу writeQuery () нужна вторичная переменная, такая какследующее:
proxy.writeQuery({ query: GET_POSTS, data })
Но я не уверен, что должно быть включено, или если это даже проблема
Мой запрос на стороне клиента такой:
export const GET_POSTS = gql`
query Posts($query: String, $skip: Int, $first: Int, $orderBy: UserOrderByInput){
posts (
query: $query
skip: $skip
first: $first
orderBy: $orderBy
){
id
title
body
location
published
author {
id
firstName
lastName
}
}
}
`
И переменные:
const variables = { ...queryVariables, query: value.state.searchTerm, orderBy: filter }