SWR ?
데이터를 가져오기 위한 React Hook
라이브러리이다. SWR
은 원격 데이터를 가져올 때 싱된 데이터가 있으면 그 데이터를 먼저 반환(stale)
한 다음 가져오기 요청(revalidate)
을 보내고, 마지막으로 최신 데이터와 함께 제공하는 라이브러리이다.
SWR의 특징 및 장점
사용법
import useSWR from "swr";
function Profile () {
const { data, error } = useSWR('/api/user/123', fetcher)
if(error) return <div>failed to load</div>
if(!error) return <div>loading...</div>
//render data
return <div>hello {data.name}!</div>
}
useSWR
로 React Hook
으로, 주된 인자로 key
와 fetcher
가 있다.
첫 번째 인자는 API URL
이면서 캐싱할 때 사용되는 key
가 된다. 이는 useSWR('/api/user/123', fetcher)
를 여러 컴포넌트에서 사용하여도 같은 key
의 데이터가 있다면 캐싱된 것을 가져오는 것이다.
두 번째 인자는 fetcher
이다. fetcher API
를 기본으로 하며, 제일 많이 사용되는 AXIOS
나 GraphQL
을 사용할 수 있다.