У меня есть основной компонент, который снимает запрос при загрузке страницы <Query>
.На странице также есть отображаемый компонент заголовка (см. Ниже) (далеко в дереве компонентов, поэтому я не хочу передавать данные с подпорками), где я хочу показать некоторые результаты этого <Query>
из другого компонента..
В настоящее время при следующей настройке всегда будет возвращаться No dealeership
, так как запрос client.cache.readQuery
запускается до того, как API возвращает данные.
Какой предпочтительный способ доступа к этим данным в apollo,Должен ли я как-то подписаться на хранилище кеша, чтобы при обновлении хранилища компонент заголовка получал эти данные?Или как-то должна вручную запускать какую-то функцию?
class AnimatedHeader extends React.Component {
render() {
return (
<ApolloConsumer>
{client => {
let dealership;
try {
dealership = client.cache.readQuery({
query: dealershipQuery,
variables: {
id: getCurrentDealershipId(),
}
});
} catch(e) {
return <span>No dealership</span>
}
.......