id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id
title
category
status
canonical_id
aliases
duplicate_of
source_trust_level
confidence_score
verification_status
tags
raw_sources
last_reinforced
github_commit
tech_stack
wiki-2026-0508-concurrent-features
Concurrent Features (React 18+)
10_Wiki/Topics
verified
self
React Concurrent Mode
useTransition
useDeferredValue
none
A
0.9
applied
react
concurrent
performance
frontend
2026-05-10
pending
language
framework
TypeScript
React 19
Concurrent Features (React 18+)
매 한 줄
"매 render 매 interruptible 하다" . React 18 부터 매 concurrent renderer — useTransition, useDeferredValue, Suspense, automatic batching, streaming SSR 매 모두 매 high-priority update 가 low-priority 를 preempt 가능한 architecture 위에 build.
매 핵심
매 핵심 features
Automatic batching : promise / setTimeout / native event 모두 batch.
startTransition / useTransition : 매 non-urgent state update marking.
useDeferredValue : input 매 lag 없이 expensive list 매 deferred.
Suspense : data fetching boundary, fallback UI.
Streaming SSR : renderToPipeableStream (Node), renderToReadableStream (Edge).
useId : SSR-safe unique id.
use() hook (React 19) : unwrap promise/context inside render.
매 priority levels
Sync / urgent (user input).
Default (most state updates).
Transition (startTransition).
Idle.
매 응용
매 typeahead search — input snappy + results deferred.
Tab switching — 매 stale UI keeps interactive.
Streaming page render — 매 fastest paint then progressively fill.
💻 패턴
useTransition for non-urgent updates
useDeferredValue
Suspense boundary
use() hook (React 19)
Streaming SSR (Node)
Automatic batching across async
flushSync for opt-out
매 결정 기준
상황
Feature
Slow filter blocks input
useTransition or useDeferredValue
Async data in component tree
Suspense + use()
Need DOM after update
flushSync
SSR slow first byte
streaming SSR
Pre-React-18 codebase
upgrade first
기본값 : input UI 매 lag → useDeferredValue. Bigger state cascade → useTransition.
🔗 Graph
🤖 LLM 활용
언제 : 매 input lag, expensive list, async-heavy tree, SSR perf.
언제 X : 매 trivial UI, 매 add-only sync state.
❌ 안티패턴
startTransition for urgent input : 매 input 매 still feel laggy.
No Suspense boundary 위 use() : 매 throws 매 above-tree fallback 까지 propagate.
Mixing flushSync everywhere : 매 defeats concurrent benefits.
🧪 검증 / 중복
Verified (react.dev official docs).
신뢰도 A.
🕓 Changelog
날짜
변경
2026-05-08
Phase 1
2026-05-10
Manual cleanup — React 18/19 concurrent features + patterns