const Forms: React.FC = () => {
const [inputTexts, setInputTexts] = useState({
firstName: '', lastName: '', e_mail: '', password: ''
})
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
setInputTexts({ ...inputTexts, [e.target.name]: e.currentTarget.value })
}
return (
<div>
{Object.entries(inputTexts).map(([key, value]) =>
return <input type="text" key={key} name={key} value={value} onChange={handleChange} />
)}
</div>
)
}
-
state
を一括りにまとめる -
Object.entries
で 各key
とvalue
を取得 -
input
タグのname
にkey
を指定 →onChange
のevent.target.name
でkey
を取得