使用Apollo的具有多个ID的GraphQL查询

时间:2019-02-14 09:30:23

标签: reactjs graphql apollo graphql-tag

我有一个查询,将ID数组作为参数。在数组中,我可以根据所选文档添加或删除ID。
问题在于,每次ID数组更改时,它不会启动查询,但我不明白为什么。
我还尝试过使用options.fetchPolicynetwork-only更改查询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}
        />
    )
}

0 个答案:

没有答案