我对这个graphql是陌生的,所以我想在这里实现的是,我需要并行调用两个查询,基本上将这些查询组合在一起并一次获取负载。
在这里,我将查询分开,并使用两个加载状态,我需要像compose那样将其组合。
用例是,用户单击按钮上的按钮,单击“ i”将传递ID,并同时击中两个查询并获取数据列表
<Button
text="Details"
onClick={() => {
getNames({ variables: { location_id: Number(location_id) } });
getSchools({ variables: { location_id: Number(location_id) } });
}}
>
const [getNames, { loading: namesLoading, data: namesData }] = useLazyQuery(
GET_NAMES
);
const [
getSchools,
{ loading: schoolsLoading, data: schoolsData },
] = useLazyQuery(GET_SCHOOLS);
const GET_NAMES = gql`
query get_names($location_id: Int!) {
get_names(location_id: $location_id) {
id
name
}
}
`;
const GET_SCHOOLS = gql`
query get_schools($location_id: Int!) {
get_schools(location_id: $location_id) {
schools {
id
name
}
}
}
`;
通过拆分,我能够看到数据,我正在使用“ @ apollo / react-hooks”通过useLazyQuery获取数据,如何通过单个查询来实现。因此,错误数据我可以只有一个,而不是多个加载
在此库中找不到任何撰写钩子