Size: a a a

Apollo — русскоговорящее сообщество

2019 September 05

D

Dissar in Apollo — русскоговорящее сообщество
Всем привет. В каких случаях может понадобиться использовать в мутации одновременно и
update
, и
refetchQueries
?
источник

DS

Dmitriy Shuleshov in Apollo — русскоговорящее сообщество
Dissar
Всем привет. В каких случаях может понадобиться использовать в мутации одновременно и
update
, и
refetchQueries
?
Апдейт когда нужно обновить часть кеша зависящую от ответа мутации, а рефетч когда нужно обновить не связанные сущности
источник
2019 September 06

MS

Mike Shalin in Apollo — русскоговорящее сообщество
Lol
источник
2019 September 07

I

Ilya in Apollo — русскоговорящее сообщество
.
источник
2019 September 08

HF

Harry Fox in Apollo — русскоговорящее сообщество
Приветствую товарищи. Немного не понимаю концепций apollo-link-state, надеюсь кто-нибудь поможет разобраться.

В Apollo есть кэш запросов, который является прослойкой между клиентским кодом, и сервером. Он может вернуть быстрый ответ, если на идентичный запрос в кэше есть данные

Так же есть "локальное хранилище". По сути является расширением функционала кэша apollo, и в нём из "бутерброда" клиент-кэш-сервер отрезается серверная часть, и все запросы и мутации выполняются только на клиентской стороне

Пара вопросов
- Стоит ли разделять сущности apollo-link-state и обычного apollo-cache? Это разные сущности или одна?
- можно ли из разных компонентов "подписываться" на изменение именно кэша apollo, чтобы не пришлось дублировать данные в локальную схему (т.е. сделал запрос, обновил полученными данными локальную схему новыми данными, которые по сути уже есть в этом кэше)
источник

HF

Harry Fox in Apollo — русскоговорящее сообщество
также появился вопрос, возможно ли передавать в аполло кэш данные без схемы? т.е. обычный объект. Если для любого телодвижения нужно описывать сехму... мягко говоря это крайне неудобно
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
Harry Fox
также появился вопрос, возможно ли передавать в аполло кэш данные без схемы? т.е. обычный объект. Если для любого телодвижения нужно описывать сехму... мягко говоря это крайне неудобно
Ты можешь кеш описать на клиенте
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
И передавать туда writeCache(data)
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
Необязательно делать запросом
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
Это кстати и есть обычный объёкт
источник

HF

Harry Fox in Apollo — русскоговорящее сообщество
Т.е. мне тип на клиенте описывать не обязательно? я имею в виду, если у меня на бэке есть тип например User, и я хочу переложить его в local state, могу "внаглую" сунуть его в state, а потом как ни в чем не бывало делать к нему запросы?
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
Аполло все запросы кеширует
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
Если в девтулзах посмотреть, это видно
источник

HF

Harry Fox in Apollo — русскоговорящее сообщество
да, это я понимаю. Просто пытаюсь сейчас понять, как это можно использовать как хранилище
источник

HF

Harry Fox in Apollo — русскоговорящее сообщество
например в родительском компоненте сделать запрос, а в дочерних написать fetchPolicy: cache-only, например
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
Вот я инициировал стор
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
И его потом изменяю
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
В любом месте могу дёрнуть cache.data
источник

MS

Mike Shalin in Apollo — русскоговорящее сообщество
Или query передать
источник