#javascript #reactjs #graphql
#javascript #reactjs #graphql
Вопрос:
У меня есть компонент «форма», который отображает данные, которые возвращаются из использования (GraphQL). Смотрите ниже:
<StyledContainer>
<formiForm type="warning" />
<formiForm type="info" />
</StyledContainer>
Файл ‘formiForm’ содержит запрос GET для получения данных:
const { queryData = {}, error, isFetching } = useQuery({
id: 'formData',
fetchPolicy: 'network-only',
query: GET_DATA,
variables: { id, type }
});
Они используют один и тот же запрос, но с другим значением «типа» (выполняют 2 запроса GET).
Ожидаемое поведение: я хочу иметь возможность просматривать 2 разные формы с 2 разными данными.
Фактическое поведение: получение 2 форм с одинаковыми данными, данные меняются от обновления к обновлению.
Я использую: fetchPolicy: 'network-only'
Для возможности изменения этих данных при внесении изменений внутри формы. Когда я использовал с: fetchPolicy: 'no-cache'
Данные были обработаны нормально, но не смогли увидеть изменения внутри формы после сохранения изменений.
Как я могу с этим справиться? Как я могу отобразить все данные внутри формы при использовании «fetchPolicy» только для сети?
Спасибо.
Ответ №1:
Мне нужно было добавить «Id» внутри запроса GraphQL, чтобы унифицировать каждый рендеринг.