5 回答

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
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貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
onClick={this.changeMessage} need not to be a string .
嘗試這個(gè) :
<Button onClick={()=>this.changeMessage()} color="success">success</Button>

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
您傳遞的 onClick 應(yīng)該是一個(gè)函數(shù),并且該函數(shù)必須綁定到在“ changeMessage ”函數(shù)內(nèi)使用“ this ”指針,因此您可以嘗試使用如下,
<Button onClick={this.changeMessage.bind(this)} color="success">success</Button>

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
<Button onClick={this.changeMessage} color="success">success</Button>
<Button onClick={() => {this.changeMessage(your params)}} color="success">success</Button>

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
你不需要在reactjs中引用函數(shù)。
就這樣分配吧。
<Button onClick={this.changeMessage} color="success">success</Button>
和功能
changeMessage = () => {
alert("In");
this.setState({
message :"message changed"
});
}
添加回答
舉報(bào)