我有一个主要组件,可以在页面加载<Query>
时发出查询。页面上也有一个显示的标题组件(请参见下文)(在组件树中很远,因此我不想使用prop传递数据),在这里我想显示<Query>
的一些结果。其他组件。
当前使用以下设置,它总是会返回No dealeership
,因为在API返回数据之前会触发client.cache.readQuery
请求。
在阿波罗中访问该数据的首选方式是什么。我是否应该以某种方式订阅高速缓存存储,以便在存储更新时,标题组件将获取该数据?还是应该以某种方式手动触发某些功能?
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>
}
.......