乐观的ReREnder在组件之间不起作用

时间:2019-08-13 19:02:49

标签: graphql apollo react-apollo apollo-client

我正在使用开放式渲染,并且发现缓存中的查询直到更新到其他页面后,更新才会反映出更改。此查询从数据库中提取消息计数,然后在主体中单击一个消息时更新。有办法强制吗? 他们不是同级页面或任何东西。 邮件图标位于导航栏组件中,收件箱位于收件箱中

尝试了不同的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;
  }

父查询似乎从未获得新值。除非进行刷新即可从数据库获取值。

0 个答案:

没有答案