【发布时间】:2020-12-19 18:51:08
【问题描述】:
我需要在我的文件中使用 2 个查询,我是这样写的:
const {loading, data } = useQuery(getCharactersQuery);
const {loading, data} = useQuery(getSingleCharacterQuery);
问题是,它们都有相同的“加载”和“数据”变量,我在文档中看不到我们如何拥有不同的变量。如何区分它们?
【问题讨论】:
我需要在我的文件中使用 2 个查询,我是这样写的:
const {loading, data } = useQuery(getCharactersQuery);
const {loading, data} = useQuery(getSingleCharacterQuery);
问题是,它们都有相同的“加载”和“数据”变量,我在文档中看不到我们如何拥有不同的变量。如何区分它们?
【问题讨论】:
这样,给他们一个别名。
const {loading, data } = useQuery(getCharactersQuery);
const {loading: singleCharacterLoading, data: singleCharacterData} = useQuery(getSingleCharacterQuery);
【讨论】:
这是 JS Destructuring assignment 的对象解构。您可以在这里选择不使用它来赋予不同的变量名称。
const resCharacters = useQuery(getCharactersQuery);
const resSingleCharacter = useQuery(getSingleCharacterQuery);
if (resCharacters.loading || resSingleCharacter.loading) return 'Loading...';
...
【讨论】:
const GET_DATA = gql`
query {
characters {
phone
rating
ratingType
review
city
id
}
singleCharacter {
title
text
}
}
`;
const {loading, data } = useQuery(GET_DATA);
console.log(data) //{characters: [...], singleCharacter: [...]}
【讨论】: