DEV Community

muthu raja
muthu raja

Posted on

๐Ÿšจ React Re-render Methods: Reference Matters!

In React, a component re-renders only when the state reference changes.
Some array methods DO NOT create a new reference, so React wonโ€™t re-render ๐Ÿšซ

โŒ Methods that DO NOT change reference (Mutating methods)

These modify the same array/object in memory:

push
pop
shift
unshift
sort
reverse
splice
fill
copyWithin

Enter fullscreen mode Exit fullscreen mode

โš ๏ธ Using these directly on React state may NOT trigger a re-render

// โŒ Wrong
state.items.push(1);
setItems(state.items); // same reference

โœ… Methods that CREATE a new reference (Safe for React)

These return a new array, so React detects the change:

map
filter
concat
slice
flat
flatMap
toSorted
toReversed
toSpliced
Enter fullscreen mode Exit fullscreen mode
// โœ… Correct
setItems(prev => [...prev, 1]);
Enter fullscreen mode Exit fullscreen mode

๐Ÿง  Key Rule to Remember

React compares references, not values.
Same reference = โŒ no render
New reference = โœ… re-render

๐Ÿ”ฅ One-line takeaway

โ€œMutating methods keep the same reference, so React wonโ€™t re-render. Always return a new reference when updating state.โ€

Buy Me a Coffee

ReactJS #JavaScript #Frontend #Immutability #WebDevelopment #ReactTips #SeniorDeveloper

Top comments (0)