首页 > 解决方案 > 这个 reactjs setState 函数代码有什么问题?

问题描述

我正在学习 react.js。我正在尝试在基于 setState 的 VS 代码中执行代码。我创建了一个按钮。当我点击它时,年龄值会改变。但是按钮不起作用。您能帮我看看以下代码中的错误是什么吗?

import React, { Component } from 'react'

class Pain extends Component {
  constructor() {
    super()

    this.state = {
      age: '28'
    }
  }
  changeName(a) {
    this.setState = { age: a }
  }
  render() {
    return (
      <div>
        <h1>{this.state.age}</h1>
        <button onClick={this.changeName.bind(this, '30')}>Change Name</button>
      </div>
    )
  }
}

export default Pain

标签: reactjs

解决方案


import React, {Component} from 'react'

class Pain extends Component {
    constructor(){
        super()

        this.state = {
            age: "28"
        }
    }

    changeName = age => {
        this.setState({...this.state, age}) 
    }

    render(){
        return(
            <div>
                <h1>{this.state.age}</h1>
                <button onClick={() => this.changeName("30")}>Change Name</button>
            </div>
        )
    }
}

export default Pain

推荐阅读