5 回答

TA贡献1793条经验 获得超6个赞
class Message extends React.Component {
constructor() {
super();
this.state = {
message: "This is message",
};
}
changeMessage = () => {
alert("In");
this.setState({
message: "message changed",
});
};
render = () => {
return (
<div>
<h1>{this.state.message}</h1>
<button onClick={this.changeMessage} color="success">
success
</button>
</div>
);
};
}
export default Message;

TA贡献1773条经验 获得超3个赞
onClick={this.changeMessage} need not to be a string .
尝试这个 :
<Button onClick={()=>this.changeMessage()} color="success">success</Button>

TA贡献1859条经验 获得超6个赞
您传递的 onClick 应该是一个函数,并且该函数必须绑定到在“ changeMessage ”函数内使用“ this ”指针,因此您可以尝试使用如下,
<Button onClick={this.changeMessage.bind(this)} color="success">success</Button>

TA贡献1829条经验 获得超6个赞
<Button onClick={this.changeMessage} color="success">success</Button>
<Button onClick={() => {this.changeMessage(your params)}} color="success">success</Button>

TA贡献1852条经验 获得超7个赞
你不需要在reactjs中引用函数。
就这样分配吧。
<Button onClick={this.changeMessage} color="success">success</Button>
和功能
changeMessage = () => {
alert("In");
this.setState({
message :"message changed"
});
}
添加回答
举报