У меня есть компонент отображения, завернутый в компонент Query
для получения данных из запроса GraphQL.После того, как я выполню мутацию, я должен повторно получить данные, чтобы обновить магазин.Проблема состоит в том, что вызов refetch()
приводит к отключению дочернего компонента, что нарушает взаимодействие и прокрутку, которую пользователь выполняет, чтобы вызвать мутацию.
Есть ли способ вызвать refetch()
без неговызывая размонтирование ребенка?Если нет, есть ли лучший способ обновить магазин, который не вызовет размонтирования?Ниже приведен код с компонентом Query
и его дочерним элементом.
<Query
query={query}
variables={{videoId}}
>
{
({loading, error, data, refetch }) => {
if (loading)
return <p>Loading...</p>;
if (error) {
console.log(error);
return <p>Error :(</p>;
}
const onChange = () => {
console.log("refetching");
return refetch();
}
const {timestampCollection} = data;
return(
<TimestampCollection onChange={onChange} player={this.state.player} timestampCollection={timestampCollection[0]} />
)
}
}
</Query>
Спасибо всем за помощь!