我的问题是我的 useState 得到了错误的数字
当我打印 e.target.value 时,例如输出 1 但我的 selectedIndex 给了我 2 或者当我得到 0 selectedIndex 检索 1 这样的东西。任何想法为什么会发生这种情况?
<Select
id="SelectGrade"
value={selectedIndex}
//Important part
onChange={(e) => {
console.log(e.target.value);
setSelectedIndex(e.target.value),
console.log(selectedIndex);
}}
>
{pflegeengel.map(({ Vorname }, index) => {
return (
<MenuItem value={index} key={index}>
{Vorname}
</MenuItem>
);
})}
</Select>
答案 0 :(得分:2)
当您在设置后立即控制台状态值时,将为您提供较旧的值。那是你的问题吗?无论如何,状态将得到更新。如果您想在设置后检查值的变化,请使用以下方法
React.useEffect(() => { console.log(selectedIndex)}, [selectedIndex]);