본문으로 건너뛰기

React

13개의 글

2026. 10. 01. · 33분 분량

React 앱의 layer

Juntao Qiu의 React 모듈화 글을 따라 결제 화면을 view, model, data로 나눈다. 예제 저장소를 직접 돌려 찾은 useMemo 무력화와 fetch 반복, 이 구조를 언제 쓸지에 대한 판단도 정리했다.

2026. 09. 21. · 31분 분량

overlay-kit

모달 열림 여부를 전역 상태로 들고 있던 코드를 await 한 줄로 바꾸며 얻은 것과 잃은 것. overlay-kit의 이벤트와 리듀서, openAsync 코어 로직을 소스로 따라가고, 재열기 동작을 직접 테스트해 문서와 어긋나는 지점까지 확인한다.

2026. 06. 17. · 30분 분량

Kalyx

React headless DatePicker Kalyx를 왜 만들었고 Ark UI, React Aria, react-day-picker와 무엇이 다른지 정리했다. ISO 8601 UTC 값 모델, Intl 기반 DST 처리, timezone 속성 테스트를 다룬다.

2026. 05. 18. · 35분 분량

상태 관리

프론트엔드 상태 관리를 지역·전역·서버·폼·URL·외부·가드 7가지 범주로 나누고, 범주마다 맞는 도구와 경계를 정리한다. 마지막에는 상태를 만들기 전에 던질 네 가지 질문으로 압축한다.

2026. 03. 28. · 24분 분량

Toss Frontend Fundamentals 모의고사 2회차 리팩토링 후기

Toss Frontend Fundamentals 모의고사 2회차 회의실 예약 앱 리팩토링 경험을 공유한다. 모놀리식 컴포넌트 분리, 도메인 로직 추출, 테스트 기반 리팩토링 과정을 정리했다.

2026. 01. 04. · 30분 분량

queryKey

TanStack Query의 queryKey 관리 방식이 인라인 배열, 상수 객체, query key factory를 거쳐 v5 queryOptions까지 어떻게 진화했는지 정리한다. 작성 규칙과 DataTag 타입 추론, 무효화 패턴을 실무 관점으로 다룬다.

2025. 12. 30. · 20분 분량

queryKey 비교 원리

TanStack Query가 렌더링마다 새로 만들어지는 queryKey 배열을 같은 키로 판단하는 방식을 정리한다. hashKey 직렬화가 키 순서, undefined, Map 같은 값을 어떻게 바꾸는지와 필터가 키 구조를 비교하는 방식까지 다룬다.

2025. 12. 03. · 25분 분량

ErrorBoundary 배치

React Router 와 TanStack Query 를 쓰는 화면에서 ErrorBoundary 를 몇 개, 어디에 둘지 정하는 기준을 설치본 소스로 확인한다. 라우트, 화면, 영역마다 받는 에러와 되돌리는 방법, fallback 을 하나로 맞추는 법, 재시도 조건까지 다룬다.

2025. 11. 28. · 14분 분량

재시도 버튼이 안 듣는 이유

react-error-boundary 의 재시도 버튼을 눌러도 같은 fallback 이 다시 뜨는 세 경우를 설치본 소스로 확인한다. 쿼리 에러는 QueryErrorResetBoundary, 렌더 에러는 queryFn 검사, React.lazy 청크 실패는 새로 고침으로 푼다.

2025. 11. 17. · 27분 분량

에러 전이

같은 에러를 일곱 자리에서 던져 보면 넷만 ErrorBoundary 에 닿는다. 렌더와 생명주기, 컴파일 타임, 서버 데이터, 페이지 전환, 외부 라이브러리, 이벤트와 비동기가 각각 어디로 전이되는지를 공식 문서와 설치본 소스로 확인한다.

2025. 05. 20. · 48분 분량

React Fiber 완전 정복

React Fiber를 Stack Reconciler부터 Fiber 노드, double buffering, Lane 우선순위, Work Loop, Render Phase와 Commit Phase, Concurrent Features까지 React 소스코드로 분석한다.

2025. 05. 15. · 14분 분량

React가 MessageChannel을 쓰는 이유

React Scheduler가 requestIdleCallback, requestAnimationFrame, setTimeout 대신 MessageChannel로 작업을 예약하는 이유를 React PR 기록과 setTimeout 4ms 지연의 Chrome 실측으로 정리한다.

2024. 08. 18. · 36분 분량

Zustand, 너 뭔데 ProviderLess 인 거야?

Zustand가 Provider 없이 상태관리를 해내는 원리를 소스코드 분석을 통해 파헤친다. React Context API와의 차이점과 모듈 스코프 기반 설계를 알아보자.