使用单个查询使用apollo react挂钩调用多个查询

时间:2020-07-13 10:23:24

标签: graphql

我对这个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获取数据,如何通过单个查询来实现。因此,错误数据我可以只有一个,而不是多个加载

在此库中找不到任何撰写钩子

0 个答案:

没有答案