首页 > 解决方案 > 从自定义 Hook 调用 graphql 查询返回数据

问题描述

我是新手graphql and react.。在这里,我有以下方法,

export const useName = (isRequest: boolean) => {
  const {
    nav: { id, idme }
  } = stores
  if (buyingSession) {
    const { data, loading,error}
    = usegroup(id, {
      fetchPolicy: 'cache-and-network'
    })
  } else {
    const {data} = usesingle(idme)

  }
  return data;
}

//这个函数应该返回一个将在数据对象中的字符串。但是我在这里感到困惑,因为它是一个查询并且它需要时间所以它返回未定义但是当我在网络中检查时它也会给出响应。

export const useme = (id: string) => {
  return useQuery(GET_ME, {
    fetchPolicy: "cache-first",
    skip: !id,
    variables: {
      id: id
    }
  } 

在另一个组件中,我正在调用,

const data = useName(true)

因此,这是实际调用 graphql 查询的调用。现在,当我获取数据时,它变得未定义。

如何解决这个问题?

标签: reactjsgraphqlapollo-client

解决方案


推荐阅读