## Why Immutability Matters in React
React relies on shallow object equality checks (`prevObject !== nextObject`) to determine whether components need to re-render. Mutating nested JSON properties directly (e.g., `user.address.city = 'NYC'`) will not trigger a component re-render.
Updating Nested JSON Safely with Spread Operator
const [user, setUser] = useState({
name: 'Alice',
settings: { theme: 'dark', notifications: true }const updateTheme = (newTheme) => { setUser(prevUser => ({ ...prevUser, settings: { ...prevUser.settings, theme: newTheme } })); }; ```
--- Compare state snapshot differences easily using our JSON Comparison tool!