我正在使用开放式渲染,并且发现缓存中的查询直到更新到其他页面后,更新才会反映出更改。此查询从数据库中提取消息计数,然后在主体中单击一个消息时更新。有办法强制吗? 他们不是同级页面或任何东西。 邮件图标位于导航栏组件中,收件箱位于收件箱中
尝试了不同的fetchPolicies。并确保正确使用要推送到缓存的对象
const { getCounts } = cache.readQuery({
query: GET_COUNTS
});
getCounts.msgsCount = getCounts.msgsCount - unSeenCount;
cache.writeQuery({
query: GET_COUNTS,
data: {
getCounts
}
});
当父母读取更新的计数时更新的组件
class InboxItem extends Component {
shouldComponentUpdate(nextProps) {
if (
this.props.count !== nextProps.count ||
this.props.active !== nextProps.active ||
this.props.t !== nextProps.t
) {
return true;
}
return false;
}
父查询似乎从未获得新值。除非进行刷新即可从数据库获取值。