데이터 가져오기

TanStack Query / SWR

추천

TanStack Query

사용하는 사람이 많고 할 수 있는 일도 많습니다. 표시뿐 아니라 저장, 삭제도 같은 방식으로 쓸 수 있습니다

결과 비교

같은 것을 각 라이브러리로 만들었습니다. 직접 만져 보세요.

TanStack Query
SWR

코드 비교

코드를 고치면 오른쪽 미리보기가 바로 바뀝니다.

import {
  QueryClient,
  QueryClientProvider,
  useQuery,
} from "@tanstack/react-query"
import { fetchEmployees } from "./api"
import { EmployeeListView, ErrorView, LoadingView } from "./view"

// 가져온 데이터를 기억해 두는 캐시 (앱에 하나)
const queryClient = new QueryClient()

function EmployeeList() {
  const { data, isPending, error } = useQuery({
    queryKey: ["employees"],
    queryFn: fetchEmployees,
  })

  if (isPending) return <LoadingView />
  if (error) return <ErrorView message={error.message} />

  return <EmployeeListView employees={data} />
}

export default function App() {
  return (
    // 앱 전체를 QueryClientProvider로 감싸면 안에서 useQuery를 쓸 수 있습니다
    <QueryClientProvider client={queryClient}>
      <EmployeeList />
    </QueryClientProvider>
  )
}

비교

2026년 10월 기준

TanStack Query

추천공식 사이트 ↗

특징

데이터 가져오기, 임시 저장, 오래된 데이터 다시 가져오기를 한 번에 처리해 줍니다. 저장, 삭제(데이터를 바꾸는 작업) 기능도 잘 갖춰져 있습니다

이럴 때 좋아요

추천. 관리 화면처럼 데이터를 많이 표시하고 업데이트하는 앱

특징

Next.js를 만든 Vercel의 라이브러리입니다. useSWR 한 줄로 데이터를 가져올 수 있습니다. 작고 간단합니다

이럴 때 좋아요

Next.js로 만들 때. 데이터를 표시하기만 하는 간단한 화면