import { useState } from 'react' const [user, setUser] = useState(initUser) const handleChange = (e) => { const target = e.target const value = e.value const name = e.name if (name in user) { const updateItem = {...user, [name]: value} // 👈 ポイント setUser(updateItem) } }
<input type="text" name="username" value={user?.username || ''} onChange={handleChange} id="username" />
onBlur
で保存とかしても良いかも