【发布时间】:2022-01-08 04:30:41
【问题描述】:
当我在输入元素中输入第一个字符时,我得到“空字符串”。
function form(props) {
// function getData(e){
// e.preventDefault()
// console.log(e.target[1].value)
const [title, setTitle] = useState("")
function getTitle(e){
setTitle(e.target.value)
console.log(title) //First time shows "empty string"
}
return (
<form >
<div>
<label >Title</label>
<input type="text" name="title" onChange={getTitle} />
</div>
</form>)
在我看来,我在输入元素中输入一个字符,“onChange”事件被触发,函数getTitle被运行,它设置“title”变量,该变量被挂接到useState钩子,然后我控制台结果。按照这个推理,我希望输入第一个字符。相反,我得到“空字符串”。从第二个字符开始,控制台打印字符。
使用“onInput”功能也是如此。
如何解决这个问题以及为什么会发生?
【问题讨论】:
标签: javascript reactjs