微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React + next 的 onchange 函数问题

如何解决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"/>
   </>)
}

enter image description here

谢谢大家!这对我帮助很大!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。