在反应中切换状态

时间:2019-01-04 18:12:15

标签: javascript reactjs

如何在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)?

2 个答案:

答案 0 :(得分:1)

尝试一下

questionAndAnswerToggler = (event) => {
    this.setState({[event]: !this.state[event]})
}

答案 1 :(得分:1)

您可以尝试以下方法:

 questionAndAnswerToggler = (event) => {
    this.setState({[event]: !this.state[event]});
 }