첫 번째 컴포넌트 만들기
컴포넌트 임포트(Import) 및 엑스포트(Export)하기
JSX로 마크업 작성하기
JSX에서 중괄호로 자바스크립트 사용하기
컴포넌트에 Props 전달하기
조건부 렌더링
리스트 렌더링
컴포넌트를 순수하게 유지하기
UI를 트리로 이해하기
이벤트에 응답하기 (Responding to Events) React를 사용하면 JSX에 이벤트 핸들러(event handlers)를 추가할 수 있어요. 이벤트 핸들러라는 건, 사용자가 버튼을 클릭하거나, 마우스를 올리거나(hover), 입력창에 포커스를 맞추는 등의 다양한 상호작용(interaction)을 했을 때 그에 반응하여 실행되도록 우리가 직접 ...
"State: 컴포넌트의 기억력
렌더링과 커밋
스냅샷으로서의 State
여러 State 업데이트 큐에 담기
State에서 객체 업데이트하기
상태에서 배열 업데이트하기
State로 입력에 반응하기
상태 구조 선택하기
컴포넌트 간에 State 공유하기
상태 보존 및 초기화
상태 로직을 Reducer로 추출하기
Context로 데이터 깊숙이 전달하기
Reducer와 Context로 확장하기
Ref로 값 참조하기
Ref로 DOM 조작하기
Effect와 동기화하기
Effect가 필요하지 않을 수도 있다
리액티브 Effect의 생명주기
이벤트와 Effect 분리하기
Effect 의존성 제거하기
커스텀 Hook으로 로직 재사용하기
React Compiler 소개
점진적 도입
디버깅과 문제 해결
TypeScript 사용하기
React 개발자 도구
React로 사고하기
React 내장 Hooks
useActionState
useCallback
useContext
useDebugValue
useDeferredValue
useEffect
useEffectEvent
useId
useImperativeHandle
useInsertionEffect
useLayoutEffect
useMemo
useOptimistic
useReducer
useRef
useState
useSyncExternalStore
useTransition
<Fragment>
<Profiler>
<StrictMode>
<Suspense>
<Activity>
act
cache
cacheSignal
captureOwnerStack
createContext
lazy
memo
startTransition
use
useFormStatus
모든 브라우저 내장 컴포넌트들은 몇 가지 공통 props와 이벤트를 지원
<form>
<input>
<option>
<progress>
<select>
<textarea>
<link>
<meta>
<script>
<title>
createPortal
flushSync
preconnect
prefetchDNS
preinit
preinitModule
preload
preloadModule
createRoot
hydrateRoot