TL;博士
有什么方法可以像使用有状态组件一样使用一个事件处理函数动态更新输入字段的值。
我正在处理一个包含 2 个字段的登录表单。电子邮件和密码。当我使用代表两个字段的 2 useState 时,当我使用 handleChange 更新状态时,两个状态都会更新。这不是本意。
const [email, setEmail] = useState()
const [password, setPassword] = useState()
const handleChange = e => {
const {value} = e.target
setEmail(value)
setPassword(value)
}
我不想使用多个事件处理程序来处理每个输入字段。我试过这个
const [state , setState] = useState({
email : "",
password : ""
})
const handleChange = e => {
const {name , value} = e.target
setState({
[name] : value
})
}
但这一次更新一个属性。并且其他财产价值丢失。那么有什么方法可以像使用有状态组件一样使用一个事件处理函数更新我的所有输入字段。
this.state = {
email : "",
password : ""
}
const handleChange = e => {
const {name , value} = e.target
this.setState({
[name] : value
})
}