Запрос GraphQL с несколькими идентификаторами с использованием Apollo - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть запрос, который принимает массив идентификаторов в качестве параметра.В массиве я могу добавлять или удалять идентификаторы на основе выбранных документов. Проблема в том, что он не запускает запрос каждый раз, когда изменяется массив идентификаторов , но я не понимаю, почему.Я также пытался изменить запрос options.fetchPolicy с network-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}
        />
    )
}
...