如何使用react-apollo-hook链接useQuery钩子

问题描述 投票:2回答:1

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

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

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

reactjs graphql react-apollo react-hooks
1个回答
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,它与你可能处理它的方式并不完全不同。

© www.soinside.com 2019 - 2024. All rights reserved.