如何在React中切换状态?
所以我做出一个q / a反应,这是我最初的状态
state = {
q1: true,
q2: false,
q3: false,
q4: false,
q5: false
}
onClick,我们需要将状态切换为真或假
//---
<div className="container=6-QandA-main" onClick={() => this.questionAndAnswerToggler("q1")}>
//--
哪里
questionAndAnswerToggler = (event) => {
this.setState({event: !this.state.event})
}
我希望上面的函数在单击时将我的q1更改为true(如果为false)和false(如果为true),而是将新的键值事件添加到我的状态
所以,我有两个问题
我认为我们不能动态地在状态中添加新的键值对,但是由于它是在状态中添加 event 的意思,这意味着我们是否可以在这里丢失某些东西?
此外,如何切换状态(不使用if-else或switch)?
答案 0 :(得分:1)
尝试一下
questionAndAnswerToggler = (event) => {
this.setState({[event]: !this.state[event]})
}
答案 1 :(得分:1)
您可以尝试以下方法:
questionAndAnswerToggler = (event) => {
this.setState({[event]: !this.state[event]});
}