질문 101 · 실전 면접 답변
React 18의 주요 변화와 동시성 렌더링은 무엇인가요?
이렇게 답해 보세요 (핵심 답변)
React 18은 createRoot를 통한 동시성(Concurrent) 렌더링 기반을 도입해, 자동 배칭(Automatic Batching) 범위를 Promise·타이머까지 넓히고 startTransition·useDeferredValue 및 Suspense 기반 스트리밍 SSR을 제공했습니다. 여기서 동시성이란 여러 JavaScript 코드를 멀티스레드에서 병렬 실행한다는 뜻이 아니라, 무거운 렌더 작업을 잘게 나누어 중단·재개하면서 사용자 입력처럼 급한 업데이트를 먼저 처리할 수 있게 우선순위를 조율한다는 뜻입니다. 이러한 기능은 createRoot로 루트를 마운트하고 컴포넌트가 순수 렌더링 규칙을 지킬 때 안전하게 활용할 수 있습니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 검색어 입력(긴급 업데이트)과 무거운 결과 목록 갱신(Transition 업데이트)을 분리하면 타이핑이 멈추지 않는 반응성을 유지할 수 있습니다.
- 버전 숫자만 올린다고 모든 기능이 저절로 켜지는 것이 아니라 새 루트 API와 Transition·Suspense 경계를 설계에 맞게 적용해야 합니다.
면접에서 자주 하는 실수
React의 동시성 렌더링을 Web Worker처럼 별도 스레드에서 렌더링 연산을 병렬 수행하는 기술로 오해해서는 안 됩니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 101번을 바탕으로 질문과 답변을 새로 정리했습니다.