我有这个功能
toggleDropdown = (name) => {
this.setState({
[`open${name}`]: !this.state[`${name}`]
})
}
我在多个不同的下拉列表中使用它
<div onClick={e=> toggleDropdown('Dropdown1')}</div>
<div onClick={e=> toggleDropdown('Dropdown2')}</div>
单击div时,this.state.Dropdown1
或this.state.Dropdown2
总是如此,它不会切换,问题是什么?
答案 0 :(得分:0)
两件事,
当您根据之前的状态设置状态时,请使用prevState
的{{1}}回调机制,setState
为setState
。
您想获得asynchronous
但仍然设置this.state.Dropdown1
尝试
openDropdown1