Size: a a a

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

2018 June 09

MD

Max Davidov in GraphQL — русскоговорящее сообщество
@BananaBobby согласен что тема недостаточно проработана. Еще такая идея - когда юзер ходит по навигации/меняет фильтр, сохранять в стейте компонента варианты фильтра (даты). Потом в update можно в цикле пройтись по ним и обновить кэш.
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
У меня мутации отдельно от компонента лежат. Я этом плане тут немного навернул, так как не люблю все внутри компонентов хранить. Очень часто один и тот же код приходится из разных контекстов запускать. Если расшарю код - то могут и помидорами закидать, но пока очень удобно выходит)
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
Просто тут немного аполло с редаксом сплетены (аполло для данных, редакс для ui), так как есть места, где нужно сделать мутацию, а после нее закрыть модальное окно, например
источник

MD

Max Davidov in GraphQL — русскоговорящее сообщество
ну ты же когда вызываешь мутацию передаешь ей variables? значит компонент знает о датах
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
Не совсем так, я делаю квери с датами, а мутации без них
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
И квери с мутациями делаются в разных компонентах
источник

NT

Nikita Tkachuk in GraphQL — русскоговорящее сообщество
Dmitry Belyaev
Просто тут немного аполло с редаксом сплетены (аполло для данных, редакс для ui), так как есть места, где нужно сделать мутацию, а после нее закрыть модальное окно, например
А apollo-link-state  пробовал?
источник

MD

Max Davidov in GraphQL — русскоговорящее сообщество
ну да, я имел ввиду когда делаешь query
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
Nikita Tkachuk
А apollo-link-state  пробовал?
Гляну, не смотрел :)
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
Примерно так мутация выглядит:
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
источник

MD

Max Davidov in GraphQL — русскоговорящее сообщество
вообщем нужен клиентский state который будет хранить историю установленных фильтров, тогда ты будешь знать с какими параметрами вызывался query и что лежит в кэше
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
Ну я могу обновить кэш для текущего фильтра, но при переходе на другой - у меня возьмутся данные тоже из кеша, без новой сущности
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
А, пропустил про сохранение всех
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
В целом тоже решение, но я боюсь, что если обрастет такими вещами приложение, то потом не разгрести
источник

MD

Max Davidov in GraphQL — русскоговорящее сообщество
я о том и говорю что обновлять надо будет в цикле весь кэш:
update = (cache, ...) => this.state.usedFilters.forEach(filter => cache.readQuery(variables: filter) ... cache.writeQuery(variables: filter) )
источник

NT

Nikita Tkachuk in GraphQL — русскоговорящее сообщество
Может уже есть какие нибудь хелперы для обновления кеша при добавлении новых сущностей? Код то похож почти всегда
источник

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
Вот я и ищу, удобно было бы если бы можно было просто query передать без переменных и аполло бы почистил для всех вариантов
источник
2018 June 10

DB

Dmitry Belyaev in GraphQL — русскоговорящее сообщество
К сожалению, остановился в итоге на resetStore :D
источник

VS

Vladimir Sedikh in GraphQL — русскоговорящее сообщество
а мы наворотили конечно
но прикрутили mobx к аполло
и такие ситуации с кешами легко решаются
без радикальных методов
источник