我有一个以 id 数组作为参数的查询。在数组中,我可以根据所选文档添加或删除 id。
问题是每次 id 数组更改时它都不会启动查询,但我不明白为什么。
我也试过options.fetchPolicy
用network-only
and改变查询,no-cache
但它不起作用。
这是我的查询:
const GET_DATA = gql`
query docs($selectedDocs: [ID]) {
docs(selectedDocs: $selectedDocs) {
_id
name
description
}
}
`;
这是组件的渲染函数:
render() {
const { selectedDocs } = this.props;
console.log(selectedDocs)
return (
<Query
query={GET_DATA}
variables={{ selectedDocs }}
fetchPolicy="network-only"
// fetchPolicy="no-cache"
notifyOnNetworkStatusChange
>
{({ loading, error, data, refetch, networkStatus }) => {
if (loading) return "Loading...";
if (error) return "Error!";
console.log(data);
return (
<div>
docs list
</div>
)
}}
</Query>
);
}
这是父组件的渲染方法:
render() {
const { selectedDocs } = this.state;
return (
<Docs
selectedDocs={selectedDocs}
/>
)
}