首页 > 解决方案 > 使用变量获取 graphQL 数据的最佳解决方案

问题描述

我正在使用 apollo graphql 客户端useQuery来获取带有变量的数据,并且我正在寻找最好的解决方案来做到这一点。

我想将数据传递给我的组件之一,但我的变量用户尚未定义,因此我无法useQuery按预期使用。

  const gqlFoodtruckByUser = gql`
  query Foodtrucks ($user: ID!) {
    foodtrucks (  where: { user: $user }) {
        title
        description
        categorie
        cover {
          url
          name
          provider_metadata
        } 
      }
    }
  `


  const gqlVariables = () => {
  const {user} = useContext(UserContext)  
  const { loading, error, data } = useQuery(gqlFoodtruckByUser,
    { variables: { user } }
  );

  return (
      <>  {user && 
            <FoodtruckByUser loading={loading} error={error} data={data} user={user.user.id} />
          }
      </>
  )
}

标签: reactjsgraphqlapollo-client

解决方案


推荐阅读