小编Nic*_*osh的帖子

你如何动态控制反应apollo-client查询启动?

使用apollo-client查询包装的react组件将自动启动对服务器的数据调用.

我想仅针对特定用户输入发出数据请求.

您可以在查询选项中传递skip选项 - 但这意味着refetch()函数不作为组件的prop提供; 并且似乎不会在prop更新中动态评估skip的值.

我的用法是case是一个map组件.我只希望在用户按下按钮时加载标记数据,而不是在初始组件安装或位置更改时加载.

下面的代码示例:

// GraphQL wrapping
Explore = graphql(RoutesWithinQuery, {
  options: ({ displayedMapRegion }) => ({
    variables: {
      scope: 'WITHIN',
      targetRegion: mapRegionToGeoRegionInputType(displayedMapRegion)
    },
    skip: ({ targetResource, searchIsAllowedForMapArea }) => {
      const skip = Boolean(!searchIsAllowedForMapArea || targetResource != 'ROUTE');
      return skip;
    },
  }),
  props: ({ ownProps, data: { loading, viewer, refetch }}) => ({
    routes: viewer && viewer.routes ? viewer.routes : [],
    refetch,
    loading
  })
})(Explore);
Run Code Online (Sandbox Code Playgroud)

react-apollo

17
推荐指数
1
解决办法
2874
查看次数

标签 统计

react-apollo ×1