Skip to content

React Interview Quick Cheatsheet

HookPurposeKey Rule
useStateLocal stateTriggers re-render on change
useEffectSide effectsRuns after render, never on server
useRefDOM access / persist valueDoes NOT trigger re-render
useContextRead contextRe-renders on context value change
useMemoCache computed valueOnly for expensive calculations
useCallbackCache function referencePair with React.memo children
useReducerComplex state logicLike a local Redux store
useLayoutEffectDOM measurementsRuns synchronously before paint
useTransitionMark state update as non-urgentReact 18+ - you own the setter
useDeferredValueDefer a valueReact 18+ - you receive the value
useOptimisticInstant UI before server confirmsReact 19+
useActionStateAsync form state (pending/result/error)React 19+
use()Read Promise or ContextReact 19+ - can be conditional

QuestionAB
Props vs StateFrom parent, read-onlyOwn data, settable via hook
useMemo vs useCallbackCaches a valueCaches a function
useEffect vs useLayoutEffectAfter paint (async)Before paint (sync)
Controlled vs UncontrolledReact drives input valueDOM drives input value
useState vs useReducerSimple primitive valuesComplex logic / transitions
Context vs ReduxSimple global sharingComplex state machine
Link vs NavLinkBasic navigationNav with active state styling
Server vs Client ComponentZero JS, async, DB accessInteractive, uses hooks
useTransition vs useDeferredValueYou own the setterYou receive the value

Simple local value -> useState
Complex related values -> useReducer
Share across few components -> Lift state up + props
Share across many components -> Context API
Complex app state -> Redux Toolkit or Zustand
DOM access -> useRef
Cached computation -> useMemo
Stable function reference -> useCallback
Data fetch on mount -> useEffect(fn, [])
Data fetch when value changes -> useEffect(fn, [value])
Non-urgent state update -> useTransition
Deferred value -> useDeferredValue
Instant UI before server -> useOptimistic (React 19)
Async form state -> useActionState (React 19)

Structure every answer using this format for maximum clarity:

1. WHAT - define it simply in 1 sentence
2. WHY - what problem does it solve
3. HOW - quick code example
4. WHEN - when to use / when NOT to use
5. GOTCHA - common mistake or edge case

React 16.8 (Hooks) -> React 18 (Concurrent) -> React 19 (Actions & Compiler) Updated: 2025-26 | 60 Questions - Easy -> Medium -> Hard