【问题标题】:How to update react state that has object?如何更新具有对象的反应状态?
【发布时间】:2019-05-29 16:23:16
【问题描述】:

我的反应状态包括称为增量的对象。在该对象内部,我有一个名为 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;

React 给我一个名为 Parsing error: Unexpected token, expected ","

的错误

【问题讨论】:

    标签: reactjs


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:
      handleClick() {
          this.setState(prevState => ({
              increment: {
                  count: prevState.increment.count + 1
              },
          })
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-08
        • 1970-01-01
        • 1970-01-01
        • 2019-06-13
        • 1970-01-01
        • 2021-12-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多