问题描述
我的表单只写上一个值
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 (将#修改为@)