使用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 ×1