我正在學習ReactJS,並且我看到了很多可用的答案,但我無法理解爲什麼this.setStateHandler = this.setStateHandler.bind(this);
正被用於下面給出的代碼中?爲什麼我們不能簡單地在按鈕點擊時調用setStateHandler
函數,而沒有在構造函數中編寫這行代碼(正如我們通常在其他編程語言中那樣)?請用簡單的術語解釋。無法理解ReactJS中一行代碼的使用/需要
代碼
import React from 'react';
class App extends React.Component {
constructor() {
super();
this.state = {
data: []
}
this.setStateHandler = this.setStateHandler.bind(this);
};
setStateHandler() {
var item = "setState..."
var myArray = this.state.data;
myArray.push(item)
this.setState({data: myArray})
};
render() {
return (
<div>
<button onClick = {this.setStateHandler}>SET STATE</button>
<h4>State Array: {this.state.data}</h4>
</div>
);
}
}
export default App;