问题描述
我正在尝试根据选择元素中的所选项目更改我的反应状态, 这是我的反应状态:
const [selectedItem,setSelectedItem] = React.useState('');
这是我的 OnChange 函数:
const handleSelectChange = (event) => {
console.log('this is the target value',event.target.value);
setSelectedItem('hello');
console.log(selectedItem);
};
这是我的选择元素(我使用的是 MaterialUI 选择组件):
<Select autoFous
onChange={handleSelectChange}
>
<MenuItem value='simpleClick'>
Simple Click
</MenuItem>
<MenuItem value='seleniumClick'>
selenium click
</MenuItem>
</Select>
我做错了什么,所以我的状态没有改变?
解决方法
当您使用 setSelectedItem
时,它不会立即更改值
您可以在 setSelectedItem
触发重新渲染后检查更改的值。
因此,在您执行 setSelectedItem('Hello')
后,它将触发重新渲染,并且 selectedItem
将在下一个渲染周期更改为 'Hello'
。