Пример современного кеширования реле

Я хотел бы включить кеширование в моем собственном приложении. Я использую GraphQL с Relay Modern. Я обнаружил, что кеширование не включено по умолчанию в реле современный, но они выставили RelayQueryResponseCache от relay-runtime, который мы можем добавить к fetchQuery функция в нашем API. Я прочитал обсуждение здесь и здесь об этом, но не видел ни одного примера, чтобы начать. Может ли кто-нибудь помочь мне в этом?

РЕДАКТИРОВАТЬ:

Хорошо, я нашел решение. Я думаю, что он пропускает несколько вещей, но пока он служит нашим потребностям. Я заметил, что передача чего-либо в QueryRenderer в cacheConfig результаты, передающие это значение в fetchQuery функционировать в моей среде. Итак, я создал Component который загружает данные по некоторому отношению и разрешает их в правильные json структура, запрошенная запросом. Затем я возвращаю это в состояние. Затем я продлил Component который содержит QueryRenderer с созданным "кеш-загрузчиком". Теперь когда componentWillMount() называется прошу закешированные данные. Во время этого я установил this.state.loading = true так что я могу обрабатывать состояние загрузки. Чтение из БД является асинхронным. Я использую этот класс и в других компонентах. Каждый обрабатывает данные своего кеша. Я просто передаю это QueryRenderer,

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

0 ответов

Другие вопросы по тегам