React State Management: Use Spread Operator Instead of Mutation

React developers: stop mutating state. Use the spread operator instead. Wrong (mutates): user.role = 'admin' setUser(user) // React won't re-render! Right (creates new object): setUser({ ...user, role: 'admin' }) More React patterns: Add to array: setItems([...items, newItem]) Remove from array: setItems(items.filter(item => item.id !== removeId)) Update array item: setItems(items.map(item =>   item.id === targetId    ? { ...item, completed: true }   : item )) Merge state: setForm({ ...form, ...updates }) Nested state update: setUser({  ...user,  settings: {   ...user.settings,   theme: 'dark'  } }) Why spread over mutation: → React detects changes properly → Prevents stale closure bugs → Enables time-travel debugging → Makes state updates predictable → Follows immutability principles In React, immutability isn't optional. The spread operator makes it easy. #React #JavaScript #WebDevelopment #FrontendDev #ReactJS

To view or add a comment, sign in

Explore content categories