카
카카오엔터테인먼트FE
July 20, 20231회
React Query의 구조와 useQuery 실행 흐름 살펴보기
간단 소개
React Query의 내부 구조, useQuery 훅 실행 흐름, 데이터 업데이트 시 컴포넌트 렌더링 과정을 분석합니다.
AI Summary
- React Query 라이브러리 구조
@tanstack/query-core(핵심 기능) 및@tanstack/react-query(React 연동) 패키지로 구성.- QueryClient는 QueryCache를 소유하며, 캐시와 상호작용하는 메서드 제공.
- QueryCache는 Query 인스턴스들을 관리하며,
build메서드를 통해 queryKey를 기반으로 Query 인스턴스를 생성/재활용하여 중복 네트워크 요청 방지.
- Query와 QueryObserver의 역할
- Query는 QueryCache에 저장되는 인스턴스로, 쿼리 결과 데이터와 상태를 가짐.
- QueryState 업데이트 시 Dispatch, Reducer, Action 패턴을 사용하여 QueryObserver에 알림.
- QueryObserver는 Query의 변화를 관찰하고, 연결된 리스너(React 컴포넌트)에게 알림.
- useQuery 훅 실행 흐름 및 View 업데이트
- useQuery 훅은 QueryObserver 인스턴스를 생성하여 React 컴포넌트와 연결.
- QueryObserver는
useSyncExternalStore훅을 통해 컴포넌트 리렌더링을 유발하여 View 업데이트. - Subscribable 클래스의
listeners필드에 리렌더링 함수가 추가되어, Query 변화 시 컴포넌트 리렌더링 지시.
Next Feeds

올플래시 스토리지 선정 시 체크포인트
올플래시 스토리지 도입 시 성능, 비용, 워크로드, 네트워크 구성, 데이터 리덕션 등 다양한 요소를 고려해야 효율적인 시스템 구축이 가능하다.
올플래시 스토리지SSDNVMeIOPS데이터 리덕션
2023. 7. 19.
글루시스

사용법과 함께 작성해본 좌충우돌 AWS DMS 사용기 - feat. RDS 통합 이야기
뱅크샐러드의 AWS DMS를 활용한 RDS 통합 경험 공유 및 기본적인 DMS 사용법, 문제 해결 팁을 제공합니다.
AWS DMSRDSMSA비용 최적화데이터 마이그레이션
2023. 7. 19.
뱅크샐러드

11번가 인턴의 카탈로그 리뷰 API 개선기
11번가 인턴의 카탈로그 리뷰 API 개선 경험 공유: 글로벌 캐시 도입 및 자동 최신화를 통해 성능 향상 및 DB 부하 감소 효과를 거둠.
API 개선글로벌 캐시Redis성능 최적화비동기 처리
2023. 7. 18.
11번가

Gitops를 활용한 AWS EKS Blue-Green 업데이트 적용기
GitOps 기반 Blue-Green 배포 전략을 통해 EKS 업데이트를 안정적으로 수행하고, 배포 효율성을 개선한 경험을 공유합니다.
EKSGitOpsBlue-GreenArgoCDKubernetes
2023. 7. 16.
비브로스

Kode Runner 2022를 회고합니다.
카카오뱅크 사내 기술 컨퍼런스 Kode Runner 2022 회고: 개발자 성장과 기술 문화 조성, 다양한 이벤트와 소통의 장.
Kode Runner기술 컨퍼런스DevRel카카오뱅크기술 문화
2023. 7. 15.
카카오뱅크

VPN SoftEther 설치 및 세팅
SoftEther VPN 설치 및 설정 방법, 그리고 장단점에 대한 기술 블로그 글입니다.
VPNSoftEtherL2TP네트워크보안
2023. 7. 14.
테이블링