Как я могу повторно запросить запрос после мутации? - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь сделать закладку и снять закладку с поста.Мутация зависит от того, существует ли уже bookmarkId или нет.новая закладка работает хорошо, тогда unbookmark работает хорошо, тогда, если я пытаюсь снова добавить в закладки тот же пост, я получаю сообщение об ошибке: Error: GraphQL error: No Node for the model Bookmark with value cjn8j3ka0ktwl0b77katcw8eu for id found. Я попытался повторно получить все сообщения FEED_QUERY, но все равно не работает.Мутация моей кнопки:

   <Mutation
          mutation={bookmarkId ? UN_BOOKMARK_MUTATION : BOOKMARK_MUTATION}
          variables={variables}
          // refetchQueries={[{ query: FEED_QUERY }]}
          update={(cache, payload) => {
            const data = cache.readQuery({
              query: ME_QUERY,
            })
            if (payload.data.createBookmark) {
              const { createBookmark } = payload.data
              data.me.bookmarks = [...data.me.bookmarks, createBookmark]
            }
            if (
              payload.data.deleteBookmark &&
              payload.data.deleteBookmark.id
            ) {
              filledIcon = false
              const { deleteBookmark } = payload.data
              console.log('deleteBookmark', deleteBookmark)
              data.me.bookmarks = data.me.bookmarks.filter(
                bm => bm.id !== deleteBookmark.id,
              )
            }
            console.log('data after', data)
            cache.writeQuery({
              query: ME_QUERY,
              data,
            })
          }}
        >

Вот репо 1007 *

...