我在我的反應表單中有2個提交按鈕。我正在嘗試使用onClick函數來獲取單擊按鈕的ID,以便我可以指定如何處理每個按鈕。我的onClick函數返回未定義的id的setState。我怎樣才能正確抓住按鈕的ID並設置狀態?在onClick函數中設置狀態
handleClick() {
var buttons = document.getElementsByTagName("button");
var buttonsCount = buttons.length;
for (var i = 0; i < buttonsCount; i++) {
buttons[i].onclick = (e) => {
this.setState({clickedSubmit: this.id});
console.log(this.state.clickedSubmit); //returns undefined
};
}
}
//in the render
<button id="formSubmit" className="btn btn-info" name="submitButton" onClick={this.handleClick}>Submit</button>
<button id="hashSubmit" className="btn btn-info" name="submitButton" onClick={this.handleClick}>Generate Hash</button>
你可以用'這個訪問值.props.id' –
^實際上,要使用'this.props.id',你必須爲按鈕創建一個組件,這可能比你想要做的更多 –