reactjs - 这个 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
解决方案
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
推荐阅读
- jquery - 在跨域ajax中包含cookie?
- curl - PayPal Subscriptions API:使用 curl 检索现有计费计划 ID 的信息
- javascript - JS:你在哪里实例化返回另一个函数的函数?
- r - 按年份循环缺失数据
- python - python socket 总是返回“端口关闭”,即使它是打开的
- mysql - .env 的变量未传递给 MYSQL 容器:默认为空字符串
- javascript - Nodemon:忽略 src 内任何子目录中的文件名
- sql - 我可以将不在同一网络上的设备连接到我的 SQL Server 吗?
- android - 通过 Google Play 在不同国家/地区共享应用
- python - 执行链中的任务列表