原因:
onClick事件如果包含() ,就會變成執行函數,從而導致這個結果
錯誤:
1 render() { 2 return ( 3 <li onClick={() => { this.clickShow() }}> 4 <span>{this.props.list.title}:</span> 5 </li> 6 ) 7 } 8 clickShow = () => { 9 alert(1) 10 }
解決:
1. 如果事件函數不需要參數,那么去除() 即可;
2. 如果事件函數需要參數,那么使用箭頭函數包括即可;
1 render() { 2 return ( 3 <li onClick={() => { this.clickShow(value) }}> 4 <span>{this.props.list.title}:</span> 5 </li> 6 ) 7 } 8 clickShow = (value) => { 9 alert(value) 10 }