SWR 정말로 사용해보고 싶었다.
SWR를 사용해보고 싶었다는 생각도 Redux를 사용해보고나서 생각이 든 것 같다. 두 라이브러리의 장점을 비교 할 수 있는 기회이기 때문이다. 사실 두 라이브러리는 본질적으로 전혀 다르다
Redux를 사용해보신 분들은 알겠지만 데이터를 받아오면 client에서 상태를 관리하는 방식이다. SWR은 단순하게 보면 서버에서 data를 받아 오는 것 뿐이다.
이것의 핵심에는 데이터 캐싱과 자동 갱신이 있다.
useSWR 은 한번 fetch 한 원격상태의 데이터를 내부적으로 캐시합니다. 즉 클라이언트에 잠시 저장을 해둔다는 말입니다.
다른 컴포넌트에서 동일한 상태를 사용하고자 할 경우, 이전에 캐시했던 상태를 그대로 리턴해줍니다!
즉 원격에 있는 데이터가 마치 클라이언트에 존재하는 것처럼 사용할 수 있다는 것이다.
최신 상태로 자동으로 동기화 해줄수 있는것이 엄청 놀랍다고 생각했다 그렇기 때문에 상태를 관리하는 것 처럼 최신 데이터를 유지 할 수 있으며 이 또한 커스텀을 통하여 설정을 제한 할 수 있다.