최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치.
콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서
전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한
업데이트0615/무제 3.canvas 뿐).
"매 render 매 interruptible, prioritizable, abandonable". React 18 (2022) 에 stable. Fiber architecture (2017) 의 결실. 2026 현재 React 19+ 의 default; useTransition, useDeferredValue, Suspense, streaming SSR, React Compiler 매 모든 것 위에 빌드.
매 핵심
매 핵심 idea
Interruptible — render 중 high-priority work (input, animation) 매 들어오면 yield.
Concurrent (NOT parallel) — single-threaded JS 위에서 cooperative scheduling.
Time-slicing — 5ms chunk 매 yield to browser (scheduler package).
Multiple in-progress trees — current + work-in-progress; double buffering.
functionUserProfile({userPromise}:{userPromise: Promise<User>}){constuser=use(userPromise);// suspends if pending
return<h1>{user.name}</h1>;}<Suspensefallback={<Skeleton/>}><UserProfileuserPromise={fetchUser(id)}/></Suspense>
Streaming SSR (Next.js 15 / React 19)
// app/page.tsx
exportdefaultasyncfunctionPage() {return(<><Header/><Suspensefallback={<FeedSkeleton/>}><Feed/>{/* streamed once data ready */}</Suspense></>);}
// chat panel hydrates first if user clicks it,
// even if header is still loading
<Suspensefallback={<Sk/>}><Header/></Suspense><Suspensefallback={<Sk/>}><Chat/></Suspense>
Cancel stale render (transition supersession)
// older transition automatically discarded when new one starts
startTransition(()=>setQuery('a'));// discarded
startTransition(()=>setQuery('ab'));// wins
매 결정 기준
상황
Approach
Input + heavy derived UI
useTransition
External lib slow value
useDeferredValue
Async data
Suspense + use
SSR with slow data
streaming + Suspense islands
Manual memoization (legacy)
replace with React Compiler
기본값: React 19+ with Compiler; transitions for any non-urgent update.
언제: identify component 매 transition 으로 wrap 할 후보, code review 매 missed Suspense boundary.
언제 X: scheduler internals 의 deep debug (need devtools profiler).
❌ 안티패턴
startTransition for urgent input: input lag.
No Suspense fallback: 매 entire tree freeze 까지 falling back.
Manual memoization with React Compiler: redundant + sometimes 더 느림.
Async setState in transition without race control: stale data.
Deferred value of huge object reference: 매 GC pressure.