Mik*_*dis 7 javascript reactjs graphql react-apollo apollo-client
有没有办法让我们可以在不重新获取的情况下更改查询中的变量?
我的用例是当您有一个轮询查询并且您想根据用户的操作跳过或包含查询的一部分时。
例如
const USER_STATS = gql`
query userStats($withDetailedStats:Boolean!) {
user {
stats {
...stats
}
detailedStats@include(if:$withDetailedStats) {
...detailedStats
}
}
}
`;
class Example extends React.PureComponent {
render() {
return (
<Query
query={query}
variables={{ withDetailedStats: false }}
pollInterval={5000}
>
{
({ data, refetch, loading }) => {
if (loading) { return 'Loading...'; }
const { user } = data;
return (
<div>
<div>{user && user.stats}</div>
<Button onClick={this.openModal}>More Details</Button>
<Modal
onOpen={() => { refetch({ withDetailedStats: true }); }}
onClose={() => { setVariablesWithoutRefetching({ withDetailedStats: false }); }}
>
<div>{user && user.detailedStats}</div>
</Modal>
</div>
);
}
}
</Query>
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
576 次 |
| 最近记录: |