Я создаю приложение реагирования с React и GraphQL, в котором я хочу по умолчанию рандомизировать коктейли, но у меня есть опция поиска определенного коктейля c через поиск после нажатия кнопки. Следовательно мне нужны два разных запроса.
export default function Cocktails() {
const [
dataType,
setDataType
] = useState('randomCocktail');
const [
queryType,
setQueryType
] = useState(RANDOM_COCKTAIL_QUERY);
const { loading, error, data, refetch } = useQuery(queryType);
if (loading) return 'Loading...';
if (error) return `Error! ${error}`;
return (...)
Если я пытаюсь добавить второй (ленивый) запрос под заданным по умолчанию параметром useQuery, программа вылетает, поскольку загрузка и данные уже назначены. («Ошибка разбора: идентификатор« loading »уже объявлен»)
const { loading, error, data, refetch } = useQuery(queryType);
const { loading, data } = useLazyQuery(ONE_COCKTAIL_BY_NAME_QUERY);
Интересно, как лучше переключаться между загрузкой данных из разных запросов. Любая помощь будет принята с благодарностью!