Docs
GETTING STARTED
GraphQL

GraphQL

React Query의 데이터 페칭 메커니즘은 Promises에 기반해 설계되어 있기 때문에, React Query를 GraphQL을 포함한 모든 비동기 데이터 페칭 클라이언트와 함께 사용할 수 있습니다!

Type-Safety and Code Generation

React Query와 graphql-request^5GraphQL Code Generator (opens in a new tab)를 함께 사용하면, 완전히 타입이 지정된 GraphQL 작업을 제공받을 수 있습니다:

import request from "graphql-request";
import { useQuery } from "@tanstack/react-query";
 
import { graphql } from "./gql/gql";
 
const allFilmsWithVariablesQueryDocument = graphql(/* GraphQL */ `
  query allFilmsWithVariablesQuery($first: Int!) {
    allFilms(first: $first) {
      edges {
        node {
          id
          title
        }
      }
    }
  }
`);
 
function App() {
  // `data`가 완전히 입력되었습니다!
  const { data } = useQuery({
    queryKey: ["films"],
    queryFn: async () =>
      request(
        "https://swapi-graphql.netlify.app/.netlify/functions/index",
        allFilmsWithVariablesQueryDocument,
        // 변수 또한 타입 검사가 가능합니다!
        { first: 10 }
      ),
  });
  // ...
}

여기에서 완전한 예제를 확인 (opens in a new tab)할 수 있습니다.

GraphQL Code Generator 문서의 전용 가이드 (opens in a new tab)를 통해 시작해 보세요.

Changed History

2024.08.26. @ubinquitous

  • [주석] data is fully typed! → data가 완전히 입력되었습니다!
  • [주석] variables are type-checked too! → 변수 또한 타입 검사가 가능합니다!