如何解决React + next 的 onchange 函数问题
我的表单只写上一个值
let [userStateLog,userSetStateLogin]:any = useState({login: ''})
function changeLogin(event:any){
userSetStateLogin({[event.target.name]:event.target.value})
}
<input placeholder="Login" name="login" onChange={changeLogin} className="login"/>
当通过onchange写入一个值时,只将之前的值写入状态参数
1 onchange 事件 => event.targe.value = 1 => myState = ' '
2 onchange 事件 => event.target.value = 12 => myState = '1'
3 onchange 事件 => event.target.value = 123 => myState = '12'
我不明白为什么 myState 落后一步
如何解决? 当发送到另一个组件并返回一个检查值时。滞后可以在 2 - 3 个步骤中观察到。 我该如何解决这个问题?
所有代码:
export default function Auth ():JSX.Element {
let [userStateLog,userSetStateLogin]:any = useState({login: ''})
function changeLogin(event:any){
let login:any = document.querySelector('.login')
userSetStateLogin({[event.target.name]:event.target.value})
console.log(userStateLog)
}
return(<>
<input placeholder="Login" name="login" onChange={changeLogin} className="login"/>
</>)
}
谢谢大家!这对我帮助很大!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。