GraphQL
React Query의 데이터 페칭 메커니즘은 Promises에 기반해 설계되어 있기 때문에, React Query를 GraphQL을 포함한 모든 비동기 데이터 페칭 클라이언트와 함께 사용할 수 있습니다!
Type-Safety and Code Generation
React Query와 graphql-request^5
및 GraphQL 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! → 변수 또한 타입 검사가 가능합니다!