我有一个 div,应通过按按钮来显示名称。下面的两个按钮,如果单击第一个,则应显示约翰的名字,如果单击第二个按钮,则应显示唐纳德。哪里错了?
import React, { Component } from 'react';
class trueName extends Component {
constructor(props) {
this.state = {
name: {},
};
}
john = ()=>{
const {name}= this.state;
this.setState({name:"John"})
}
donald = ()=>{
const {name}= this.state;
this.setState({name:"Donald"})
}
render() {
return(
<div >
<div className="SelectName">
<span>{this.name}</span>
</div>
<button
className = "one"
onClick={ this.john}>
<span>My name John</span>
</button>
<button
className = "two"
onClick={ this.donald}
>
<span>My name Donald</span>
</button>
</div>
)
}
}
export default trueName;
最佳答案
正如其他人提到的,您需要将值设置为字符串。
而且,当您显示该值时,会出现错误。您正在寻找 this.name
,而您想要显示的是 this.state.name
关于javascript - 通过按钮输出名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55854044/