Я создал сервер apollo и теперь работаю над интерфейсом.Мой текущий стек - Nuxtjs / Nuxt-apollo / Apollo-server, и я решил использовать кеш Apollo для локального управления состоянием вместо vuex.
Мне удалось подключиться к серверу apollo, который я сделал, запускал запросы и мутации на сервере и по кешу.Однако я очень смущен тем, когда мне следует использовать директиву @ client .Я думаю, что это больше из-за того, что я не смог увидеть большую картину, поэтому я нарушу свой мыслительный процесс.
1) Вы запускаете запрос / мутацию, и это помещается в кеш браузера.
2) Теперь вы можете получить доступ к этому запросу / мутации из кэша и запустить его без необходимости вызывать сервер с помощью client.readQuery и writeQuery.(Я, вероятно, уже не правильно понимаю это, поскольку читаю официальные документы.)
3) Директива @client предназначена для управления состоянием, и вы помещаете это рядом с любым полем, которое хотите кэшировать.Это также касается только кэширования и локальных распознавателей.Но из моего опыта это выглядит так, как будто это перезаписывает ROOT_QUERY, ROOT_MUTATION внутри кэша?Это кажется немного нелогичным?
Чтобы сделать мой вопрос более конкретным и менее расплывчатым, , когда следует использовать readQuery / writeQuery / readFragment / writeFragment идиректива @client.Если это возможно, насколько это возможно?