如何更新有对象的反应状态?

时间:2019-05-29 16:23:17

标签: reactjs

我的反应状态包括称为增量的对象。在该对象内部,我有一个名为count的属性,其值为0。 有谁知道如何通过单击按钮来增加计数值?

import React, { Component } from 'react';


class App extends Component {
  constructor(){
    super();

    this.state = {
      increment:{
        count:0
      }
    }

    this.handleClick = this.handleClick.bind(this)
  }


  handleClick() {

    this.setState(prevState => {
      return {
        increment.count: prevState.increment.count + 1
      }
    })
  } 


  render() {

    return (
      <div>
          <h1>{this.state.increment.count}</h1>
          <button onClick={this.handleClick}>Change!</button>

      </div>
    )
  }
}

export default App;

反应给我一个错误,称为解析错误:意外的令牌,预期为“,”

2 个答案:

答案 0 :(得分:6)

您更新状态的语法错误。您不能将键添加为crement.count。这是正确的语法。

handleClick() {

    this.setState(prevState => {
       return {
           increment: {
               count: prevState.increment.count + 1
           }
       }
    })
}

答案 1 :(得分:0)

handleClick() {
    this.setState(prevState => ({
        increment: {
            count: prevState.increment.count + 1
        },
    })
}