React JS
Start Spaced Repetition Session070 cards
Questions
Effects9
useEffect - log when a value changes
codinglocked
Sign up to unlockuseEffect - remove a listener in cleanup
codinglocked
Sign up to unlockuseEffect - dependency array trace
conceptuallocked
Sign up to unlockuseEffect - syncing a computable value
codinglocked
Sign up to unlockuseEffect - object dependency recreated each render
codinglocked
Sign up to unlockuseEffect - stale closure in setInterval
codinglocked
Sign up to unlockuseEffect - infinite fetch loop
codinglocked
Sign up to unlockuseEffect - missing dependency
codinglocked
Sign up to unlockuseEffect - when cleanup runs
conceptuallocked
Sign up to unlockEvents & Forms5
Controlled vs. uncontrolled components
conceptuallocked
Sign up to unlockControlled text input
codinglocked
Sign up to unlockonClick={fn} vs. onClick={fn()}
codinglocked
Sign up to unlockpreventDefault on form submit
codinglocked
Sign up to unlockSynthetic events
conceptuallocked
Sign up to unlockRendering9
0 && rendering gotcha
codinglocked
Sign up to unlockConditional rendering
codinglocked
Sign up to unlockChanging a component's key
codinglocked
Sign up to unlockKeys in lists
codinglocked
Sign up to unlockVirtual DOM and reconciliation
conceptuallocked
Sign up to unlockRender vs. commit phase
conceptuallocked
Sign up to unlockWhat triggers a re-render
conceptuallocked
Sign up to unlockPure render - mutating an outer variable
codinglocked
Sign up to unlockPure render - sorting a prop in place
codinglocked
Sign up to unlockState6
Immutable array updates
codinglocked
Sign up to unlockuseState - functional updates
codinglocked
Sign up to unlockWhy not mutate state
conceptuallocked
Sign up to unlockState updates - snapshots and batching
conceptuallocked
Sign up to unlockImmutable object update
codinglocked
Sign up to unlockuseState - declare state
codinglocked
Sign up to unlockComponents & Props4
Props
codinglocked
Sign up to unlockFunction vs. class components
codinglocked
Sign up to unlockProps - default values
codinglocked
Sign up to unlockchildren prop
conceptuallocked
Sign up to unlockJSX3
JSX - rendering a list
codinglocked
Sign up to unlockJSX - expressions and fragments
codinglocked
Sign up to unlockJSX - attributes
codinglocked
Sign up to unlockRefs4
React 19 - ref as a prop
codinglocked
Sign up to unlockuseRef - keep an interval id across renders
codinglocked
Sign up to unlockuseRef - focus a DOM input
codinglocked
Sign up to unlockuseRef - changing a ref doesn't re-render
conceptuallocked
Sign up to unlockPerformance & Memoization9
useMemo - when it's worth it
conceptuallocked
Sign up to unlockuseMemo - memoize an expensive filter
codinglocked
Sign up to unlockReact Compiler - drop manual memoization
codinglocked
Sign up to unlockReact Compiler - code that breaks the rules
conceptuallocked
Sign up to unlockuseCallback - without React.memo
conceptuallocked
Sign up to unlockReact.memo - inline object prop
codinglocked
Sign up to unlockReact.memo - render trace
conceptuallocked
Sign up to unlockuseCallback - stale dependency
codinglocked
Sign up to unlockuseCallback - stable handler for a memo child
codinglocked
Sign up to unlockState Structure3
Derived state - store the id, not the object
codinglocked
Sign up to unlockLifting state up
codinglocked
Sign up to unlockDerived state - copying props into state
codinglocked
Sign up to unlockReducers3
useReducer vs. useState
conceptuallocked
Sign up to unlockuseReducer - write the reducer
codinglocked
Sign up to unlockuseReducer - dispatch actions
codinglocked
Sign up to unlockContext4
Context - unstable Provider value
codinglocked
Sign up to unlockContext - who re-renders on a value change
conceptuallocked
Sign up to unlockContext - nearest Provider and default value
conceptuallocked
Sign up to unlockContext - replace prop drilling
codinglocked
Sign up to unlockData Fetching3
Data fetching - cancel with AbortController
codinglocked
Sign up to unlockData fetching - loading and error states
codinglocked
Sign up to unlockData fetching - race condition
codinglocked
Sign up to unlockComposition3
Composition - replace inheritance
codinglocked
Sign up to unlockComposition - render props
codinglocked
Sign up to unlockComposition - multiple slots
codinglocked
Sign up to unlockHooks5
Custom hooks - the use prefix
codinglocked
Sign up to unlockCustom hooks - each call has its own state
conceptuallocked
Sign up to unlockCustom hooks - extract shared logic
codinglocked
Sign up to unlockRules of Hooks - hook in an event handler
codinglocked
Sign up to unlockRules of Hooks - hook after an early return
codinglocked
Sign up to unlock