反应 useState 问题与 event.target.value 没有正确更新?

时间:2021-01-10 17:12:01

标签: javascript reactjs ecmascript-6 material-ui use-state

我的问题是我的 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>

1 个答案:

答案 0 :(得分:2)

当您在设置后立即控制台状态值时,将为您提供较旧的值。那是你的问题吗?无论如何,状态将得到更新。如果您想在设置后检查值的变化,请使用以下方法

React.useEffect(() => { console.log(selectedIndex)}, [selectedIndex]);