React
Rendering optimization deep dive - Wanneer re-rendert React?
Understanding re-renders = sneller debuggen.
Re-render triggers:
Parent re-renders = children re-render (always) Componen own state changes Received props change Context consumer value changes
Optimization strategies
React.memo wraps component, skips if props equal memo only compare shallow equality Need useCallback for function props Need useMemo for object/array props Use Profiler DevTools to find bottlenecks
Code Voorbeelden
JAVASCRIPTRe-render optimization
// Without optimization, List re-renders needles
function App() {
const [search, setSearch] = useState('');
return (
<>
<input onChange={(e) => setSearch(e.target.value)} />
<List items={items} /> {/* Re-renders on every keystroke! */}
</>
);
}
// Solution 1: React.memo
const ListMemo = React.memo(List);
// Solution 2: Memoize deps
function App() {
const [search, setSearch] = useState('');
const memoItems = useMemo(() => items, [items]);
return (
<>
<input onChange={(e) => setSearch(e.target.value)} />
<ListMemo items={memoItems} />
</>
);
}Relevante trefwoorden
renderingoptimizationperformance