Initialize from props, then manage locally.
Section: UI Recipes
Mirror a prop into state only when necessary
tsx
tsx
const [draftName, setDraftName] = useState(name);
useEffect(() => {
setDraftName(name);
}, [name]);Explanation
Use sparingly; derived state is often avoidable.
Learn the surrounding workflow
Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.
Related commands
Same sheet · prioritizing UI Recipes
Focus an input on mount
Use a ref and an effect to focus an input after mount.
Optimistic UI with transition
Apply urgent optimistic state and schedule reconciliation.