Learn React Hooks, State Management, Component Composition, Context Passing, Component Communications & Orchestration
// React runtime mental model untuk engineer yang ingin memahami render, commit, identity, purity, state snapshot, dan reconciliation sebagai fondasi seluruh arsitektur React modern.
This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.
Curriculum Map
Navigate by phase, then choose the lesson that matches your current depth.
React Runtime Mental Model
12 minReact runtime mental model untuk engineer yang ingin memahami render, commit, identity, purity, state snapshot, dan reconciliation sebagai fondasi seluruh arsitektur React modern.
Component Boundaries and State Ownership
11 minComponent boundaries dan state ownership untuk mendesain React application yang maintainable, predictable, testable, dan tahan terhadap kompleksitas fitur enterprise.
Thinking in State Topology
17 minState topology sebagai peta keputusan untuk menentukan lokasi, pemilik, lifecycle, dan mekanisme propagasi state di React application yang kompleks.
Rendering Is Not Execution
13 minRendering is not execution: pemisahan render calculation, event handling, effect synchronization, commit phase, dan side effect sebagai dasar React correctness.
Rules of Hooks as Runtime Contract
7 minMemahami Rules of Hooks bukan sebagai aturan gaya penulisan, melainkan kontrak runtime yang menjaga pemetaan state, effect, ref, memo, dan subscription tetap stabil antar-render.
State as Snapshot, Not Variable
8 minMemahami state React sebagai snapshot per-render, bukan variabel mutable langsung, agar event handler, batching, closure, updater function, dan async flow dapat dirancang tanpa stale-state bugs.
Component Identity and State Preservation
10 minMemahami bagaimana React menjaga atau mereset state berdasarkan identitas komponen, posisi di tree, tipe elemen, dan key; serta bagaimana memakai remount secara eksplisit sebagai alat arsitektur UI.
Derived State and Source of Truth
9 minMembangun disiplin source of truth dan derived state di React agar UI tidak menyimpan data redundant, tidak membuat synchronization loop, dan mampu menjaga invariant state pada aplikasi kompleks.
useState Deep Dive
11 minDeep dive useState sebagai primitive state lokal React: snapshot, update queue, initializer, updater function, object state, batching, reset semantics, invariant, dan failure mode production.
useReducer as Local State Machine
8 minDeep dive useReducer sebagai local state machine: event modeling, reducer purity, transition table, discriminated union, invariant, async boundary, testing, dan failure mode production.
State Transitions, Not Setters
9 minMengubah cara berpikir dari setter-thinking menuju transition-thinking: event, intent, invariant, atomic update, reducer migration, command boundary, dan failure mode state update di React production.
useRef: Mutable Cell and Escape Hatch
9 minDeep dive useRef sebagai mutable cell dan escape hatch: DOM refs, instance variables, timers, AbortController, latest callback, render safety, concurrency caveats, dan anti-patterns.
useMemo and useCallback Before and After React Compiler
9 minDeep dive useMemo dan useCallback sebelum dan sesudah React Compiler: memoization sebagai cache, referential identity, dependency correctness, profiling, context value stability, compiler-era policy, dan failure modes.
useEffect Is Synchronization
7 minDeep dive useEffect sebagai mekanisme sinkronisasi dengan sistem eksternal: render/commit/effect, setup-cleanup protocol, dependency model, Strict Mode, race condition, anti-patterns, dan production checklist.
Effect Dependency Graph
12 minDeep dive dependency array useEffect sebagai graph reactivity: reactive values, synchronization edge, exhaustive deps, stale closure, object/function dependency, resubscription, dan strategi refactor yang aman.
Removing Unnecessary Effects
10 minPanduan production-grade menghapus unnecessary effects: derived state, event logic, state reset, prop synchronization, expensive calculation, external system boundary, reducers, refs, dan refactor playbook.
useLayoutEffect and Render-Blocking Work
13 minDeep dive useLayoutEffect sebagai layout synchronization primitive, kapan dipakai, kapan dihindari, bagaimana mengukur DOM tanpa flicker, dan bagaimana menghindari render-blocking work yang merusak performance.
Imperative Handles and Forwarded Interfaces
12 minDeep dive useImperativeHandle, ref forwarding, React 19 ref-as-prop, imperative component interface design, focus/scroll/portal APIs, failure modes, dan cara membatasi escape hatch agar tetap maintainable.
Custom Hooks as Stateful Protocols
12 minCustom Hooks as stateful protocols: bagaimana mengekstrak stateful logic tanpa mencampur ownership state, mendesain API hook yang stabil, lifecycle-safe, testable, composable, dan production-grade.
Hook Invariants and Failure Modes
12 minHook invariants and failure modes: rules-of-hooks violations, stale closures, dependency bugs, race conditions, subscription leaks, tearing, Strict Mode surprises, SSR mismatch, memoization failure, dan debugging checklist production.
Composition Over Configuration
12 minComposition over configuration: children, slots, element injection, component injection, render functions, headless boundaries, API design, invariants, decision matrix, dan failure modes production-grade React composition.
Container/Presentational Revisited
11 minContainer/presentational pattern revisited untuk React modern: data boundary, orchestration boundary, view boundary, domain hooks, server-state integration, testing strategy, migration path, dan failure modes.
Controlled and Uncontrolled Components
7 minControlled and uncontrolled components as an ownership contract: who owns value, who owns transition, when to synchronize, how to design safe component APIs, and how to avoid double source of truth in production React systems.
Compound Components Pattern
7 minCompound components as a production React composition pattern: shared state, implicit coordination, context contracts, controlled/uncontrolled support, accessibility, keyboard orchestration, and failure modes.
Render Props and Function-as-Child
7 minRender props and function-as-child as inversion-of-control composition patterns in modern React: scoped rendering, state exposure, API design, TypeScript contracts, modern alternatives, failure modes, and migration paths.
Headless Components
7 minHeadless components as production-grade behavior primitives in React: logic/render separation, accessibility contracts, prop getters, state ownership, compound integration, design-system architecture, testing, and failure modes.
Polymorphic Components and as Prop
10 minPolymorphic components and the as prop in React: semantic HTML preservation, accessibility contracts, TypeScript typing, ref forwarding, prop merging, design-system layering, and failure modes.
Component Contracts
8 minComponent contracts in React: props as API, behavioral invariants, controlled/uncontrolled contracts, events, accessibility, composition boundaries, versioning, testing, and failure modes.
Designing Component Public API
7 minDesigning component public APIs in React: API surface, prop vocabulary, controlled/uncontrolled contracts, events, slots, extensibility, ref contracts, async semantics, versioning, and API review discipline.
Composition Failure Modes
8 minComposition failure modes in React: prop explosion, wrapper hell, hidden context coupling, provider pyramids, accidental remounts, fragile children manipulation, render-prop misuse, polymorphic semantics bugs, compound component hazards, and refactor recipes.
Context Mental Model
8 minContext mental model untuk React production-grade: context sebagai scoped dependency/capability passing, bukan global state manager default.
Context Provider Design
7 minDesain provider React Context untuk aplikasi besar: scope, placement, value stability, split context, reducer provider, capability provider, testing, dan failure modes.
Context Read Patterns
10 minContext read patterns for production React: strict context, provider enforcement, custom read hooks, optional context, scoped override, granular reads, portals, testing harness, and failure modes.
Context Update Patterns
8 minContext update patterns for production React: setter context, reducer context, split state/action providers, command context, controlled providers, async boundaries, update invariants, performance, tests, and failure modes.
Context Performance Cost
14 minContext performance cost in production React: rerender propagation, value identity, fan-out, provider placement, split contexts, selector boundaries, external-store migration, profiling workflow, refactor recipes, and failure modes.
Context as Capability Passing
12 minContext as capability passing in production React: dependency injection, services, commands, policy checkers, feature flags, permissions, analytics, modal/toast services, least authority, testability, SSR boundaries, and failure modes.
Context and Design Systems
13 minContext and design systems in production React: theme, semantic tokens, density, direction, form-field context, compound primitives, accessibility contracts, provider layering, CSS variable integration, performance boundaries, testing strategy, and failure modes.
Context Anti-Patterns
13 minContext anti-patterns in production React: global dumping ground, hidden dependencies, provider pyramid, high-frequency context state, default value trap, context-as-event-bus, server-state-in-context, unstable value identity, authorization leakage, refactor recipes, diagnostics, and migration strategy.
Parent–Child Communication
9 minParent-child communication in React as a production contract: data down, intent up, controlled ownership, callback semantics, imperative escape hatches, async boundaries, and failure modes.
Sibling Communication
8 minSibling communication in React through shared owners, mediator parents, context, URL state, external stores, server cache, command channels, and failure-mode analysis.
Cross-Tree Communication
8 minCross-tree communication patterns in React, from lifted state and composition to context, URL state, external stores, server cache, command channels, portals, and failure-mode analysis.
Component Events vs Domain Events
8 minDistinguishing DOM events, React event handlers, component events, UI intents, commands, domain events, and integration events for production-grade React communication design.
Callback Design
14 minCallback design for production React systems: naming, payloads, ownership, stability, async semantics, stale closure control, callback composition, and failure modes.
Command Query Separation in UI
11 minCommand Query Separation in React UI: separating read models from command ports, preserving invariants, structuring mutations, optimistic updates, pending/error lifecycle, and production workflow boundaries.
Event Bus in React
8 minEvent Bus in React: when it is useful, when it becomes hidden global state, how to build a typed lifecycle-safe bus, and how to keep event-driven UI communication observable and bounded.
Portals, Modals, and Overlay Communication
8 minPortals, modals, and overlay communication in React: portal mental model, modal manager, overlay stack, focus management, close contracts, confirmation flows, and production failure modes.
Form Communication
9 minForm communication in React: field state, form aggregate state, validation, submission orchestration, server errors, accessibility, performance, and production-grade form architecture.
Component Communication Failure Modes
5 minComponent communication failure modes in React: cycles, duplicated ownership, stale callbacks, hidden dependencies, over-lifting, event bus misuse, async races, and refactoring protocols.
State Taxonomy
9 minA production-grade taxonomy for React state: local, shared, derived, server, URL, persistent, external, workflow, capability, and ephemeral state with ownership, lifecycle, invalidation, and failure modes.
Local State Design
6 minA deep implementation guide for local React state: co-location, draft state, state shape, reducers, transitions, refs, reset semantics, local invariants, performance, and failure modes.
Lifted State Design
7 minA deep implementation guide for lifted state design: nearest common owner, ownership migration, mediator components, reducers, controlled children, state splitting, performance boundaries, and failure modes.
URL State
8 minA deep implementation guide for URL state in React: query params, route params, serialization, canonicalization, browser navigation, React Router, Next.js App Router, state ownership, cache keys, and failure modes.
Session and Persistent Client State
9 minA deep implementation guide for session and persistent client state in React: localStorage, sessionStorage, IndexedDB boundaries, hydration, versioning, privacy, multi-tab sync, and failure modes.
Normalized Client State
6 minA deep implementation guide for normalized client state in React: entity maps, relation modeling, selectors, update invariants, optimistic IDs, indexes, and failure modes.
State Invariants
8 minA production-grade guide to state invariants in React: illegal states, transition guards, discriminated unions, reducer rules, consistency checks, async invariants, and invariant-driven tests.
State Migration and Refactoring
10 minA production-grade guide to migrating and refactoring React state: local to reducer, child to owner, props to context, context to store, effect state to derived state, and server copies to cache-backed state.
State Management Decision Matrix
10 minDecision matrix untuk menentukan lokasi state, ownership, lifecycle, sharing boundary, persistence, external store, server-state cache, dan workflow state dalam aplikasi React production-grade.
Reducer Architecture
6 minReducer architecture untuk React production-grade: event modeling, transition table, reducer purity, invariant, async boundary, selectors, testing, dan migration path menuju store atau state machine.
Reducer + Context Store
8 minReducer plus Context store untuk state subtree yang kompleks: strict context, split state/dispatch, domain commands, selectors boundary, async side-effect boundary, testing, dan migration path.
Building a Mini Store from Scratch
7 minMembangun mini client store dari nol: getState, setState, subscribe, immutable update, listener model, React adapter, selector hook, equality, batching notification, persistence boundary, dan failure modes.
useSyncExternalStore Deep Dive
8 minDeep dive useSyncExternalStore sebagai kontrak aman untuk menghubungkan React dengan external store, browser API, dan subscription source tanpa tearing.
Selector-Based State Subscription
8 minSelector-based state subscription untuk external store React: fine-grained reads, equality checks, structural sharing, dan strategi mencegah rerender fan-out.
Zustand in Production
7 minZustand sebagai external-store pragmatic layer untuk React production: store slices, selectors, middleware, persistence, vanilla store, testing, dan failure modes.
Redux Toolkit in Production
6 minRedux Toolkit untuk React production: configureStore, slices, typed hooks, selectors, entity adapter, listener middleware, async lifecycle, RTK Query boundary, testing, dan governance.
Redux vs Zustand vs Context
12 minDecision framework production-grade untuk memilih Context, Zustand, atau Redux Toolkit berdasarkan ownership, lifecycle, sharing radius, governance, observability, performance, server-state boundary, dan team scale.
External Store Failure Modes
9 minFailure modes external store di React: tearing, stale snapshot, uncached getSnapshot, selector allocation, resubscribe churn, SSR mismatch, persistence hydration, singleton leakage, hidden global coupling, event loops, dan debugging protocol.
Server State Is Not Client State
11 minServer state is not client state. This part builds the mental model for ownership, freshness, cache lifecycle, invalidation, optimistic UI, and why server snapshots require a different architecture from local UI state.