如何使用react-apollo-hooks链接useQuery挂钩

时间:2019-04-24 20:04:35

标签: reactjs graphql react-apollo react-hooks

我想用钩子执行2个查询,其中第二个查询使用在第一个查询中检索到的信息。例如:

const { data, error, loading } = useQuery(GET_DOGS);
const result2 = useQuery(GET_BREEDS, { variables: { dogId: data[0].id } });

现在我使用某种状态并在第二个钩子上设置skip参数,但是我认为必须有一些更容易忽略的解决方案?

1 个答案:

答案 0 :(得分:1)

挂钩不能是有条件的,因此不能像我们使用if组件那样使用Query语句或早期返回。不管好坏,使用skip参数最简单的解决方案:

const { data, error, loading } = useQuery(GET_DOGS);
const result2 = useQuery(GET_BREEDS, {
  skip: !data.dogs,
  variables: { dogId: data.dogs[0].id },
});

顺便说一句,这与您在2017年处理并且我们仍在使用HOCs and recompose时的处理方式没什么不同。