最近学习react的hooks遇到个这个问题我看了文档和百度还是没搞懂
import React,{useState} from "react";
export default function Demo() {
const [tempValue, setTempValue] = useState(0)
return (
<div>
<select style={{width:"100px"}} onChange={e=>{
// e.target.value值获取正确
console.log('tempValue',e.target.value,tempValue);
setTempValue(e.target.value)
// e.target.value值获取正确 tempValue 延迟一步
console.log('tempValue',e.target.value,tempValue);
}}>
{
[1,2,3].map(item=>{
return <option value={item} key={item}>{item}</option>
})
}
</select>
value:{tempValue}
</div>
);
}
修改state值的过程是异步的,所以你打印看不到最新值
slect有一个默认值属性
你需要将这个默认属性绑定上你的value值
就可以实现数据的双向绑定了
select需要绑定一个value。