일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- RectQuery
- 명령형프로그래밍
- 앱개발공부
- 모두의딥러닝
- 플러터공부
- 플러터앱개발공부
- 딥러닝
- date-fns
- 면접을위한CS전공지식노트
- tabBarBadge
- 알고리즘
- 웹해킹
- Flutter공부
- react
- ReactNative
- Flutter
- 하단탭바알림
- 플러터앱개발
- 날짜포맷팅
- OpenWeatherApi
- 정보보호
- BottomTabBarNavigator
- BottomTabNavigation
- 플러터
- 선언형프로그래밍
- 앱개발
- 화면이동
- Navigation
- 데이터베이스의기본
- Object~
- Today
- Total
기록하기
React Query와 SWR에 대하여 알아보자! 본문
React Query
기능과 목적
데이터를 가져오고 관리하는데에 사용된다. Rest API, GraphQL 등
기능
쿼리 : 데이터를 가져오기 위한 쿼리 함수 정의, 실행
뮤테이션 : 데이터를 변경하는 뮤테이션 처리
인피니트 스크롤링 및 페이지네이션 지원
자동 캐싱 및 데이터 유효성 검사를 통한 최적화
에러 처리 및 재시도 메커니즘 내장
SWR
기능과 목적
주요 데이터 가져오기와 캐싱에 중점을 둔다. Rest API, GraphQL 또 다른 http 요청
기능
데이터 가져오기 및 캐싱 : http 요청을 통해 가져오고 자동으로 캐싱
데이터 구식 여부 확인 : 자동으로 업데이트함
기존 API fetching과 차이점
자동 캐싱 및 데이터 관리
React Query / SWR : 내부적으로 데이터 캐싱 및 관리, 캐시된 데이터 반환, 네트워크 요청 최소화
기존 API 호출 : 데이터 캐싱 및 상태 관리를 수동으로 해야함, 중복된 요청 발생, 데이터 관리 어려움
자동 에러처리 및 재시도
React Query / SWR : 자동으로 에러 처리, 재시도 메커니즘 제공, 서버 에러 처리하기 쉬움
기존 API 호출 : 에러처리와 재시도를 수동으로 구현, 코드 복잡, 예외 처리 놓치기 쉬움
상태관리 및 리렌더링
React Query / SWR : React 훅을 제공, 자동으로 컴포넌트 리렌더링함, UI 업데이트 쉬움
기존 API 호출 : UI 수동으로 업데이트
React Query / SWR 작동원리
데이터 요청
React Query : 데이터 가져오기 위해 ‘useQuery’ 훅 사용
SWR : ‘useSWR’ 훅 사용, 데이터를 가져오기 위한 url 또는 키와 함께 사용됨
캐싱
React Query : 요청한 데이터는 내부적으로 캐싱됨, 캐시는 메모리에 저장되어 빠르게 접근 가능
SWR : url 키를 기반으로 캐싱됨
데이터 유효성 검사
React Query : 데이터가 캐시된 상태에서 유효성 검사함, 데이터가 구식인 경우에만 서버로 요청 보냄
SWR : 데이터가 캐시된 상태에서 요청한 url로부터 데이터를 가져옴
React Query / SWR 사용 중인 회사들
토스
데이터를 가져오기 위해 토스 커뮤니티가 자주 사용하고 있는 라이브러리임
컴포넌트 단위로 비동기 리소스를 선언적으로 사용할 수 있게 해 주는 것이 특징!!
매드업
회사의 프로덕트 중 하나인 ‘레버’에서는 상태 관리를 위해 SWR을 사용중임
'기타' 카테고리의 다른 글
[React] 비밀번호 재설정 페이지(debounce 사용하기) (0) | 2023.11.20 |
---|---|
[React] 비밀번호 재설정 페이지 (5) | 2023.11.20 |
[CesiumJS] CesiumJS에 대하여 알아보자 (0) | 2023.09.21 |
다이나믹 프로그래밍, 최단 경로, 그래프 알고리즘 개념 정리 (0) | 2023.09.13 |
[면접을 위한 CS전공지식 노트] ERD와 정규화 과정 (0) | 2023.07.24 |