0

我有一个以 id 数组作为参数的查询。在数组中,我可以根据所选文档添加或删除 id。
问题是每次 id 数组更改时它都不会启动查询,但我不明白为什么。
我也试过options.fetchPolicynetwork-onlyand改变查询,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}
        />
    )
}
4

0 回答 0