方法一:最麻煩的寫法,不推薦
import React from 'react'; class App extends React.Component { handleClick() { alert('點擊') } render() { return ( <div> <button onClick={this.handleClick.bind(this)}>click</button> </div> ) } } export default App;
方法二:在構造函數里統一綁定,不常用。
import React from 'react'; class App extends React.Component { constructor(props) { super(props); this.handleClick = this.handleClick.bind(this) } handleClick() { alert('點擊') } render() { return ( <div> <button onClick={this.handleClick}>click</button> </div> ) } } export default App;
方法三:最常見的寫法。
import React from 'react'; class App extends React.Component { constructor(props) { super(props); } handleClick = () => { alert('點擊') } render() { return ( <div> <button onClick={this.handleClick}>click</button> </div> ) } } export default App;
方法四:可以傳參數。
import React from 'react'; class App extends React.Component { constructor(props) { super(props); } handleClick (e) { alert(e) } render() { return ( <div> <button onClick={(e) => this.handleClick(e)}>click</button> </div> ) } } export default App;