解決したいこと
ReactコンポーネントのonClick属性にメソッドを入れた場合とアロー関数を入れた場合の違いを理解したい。
きっかけとなったエラー
js
1class Prev extends Component { 2 prev={ 3 position:"absolute", 4 top:"50%", 5 left:"25%", 6 width:"50px", 7 height:"50px", 8 fontSize:"30px", 9 cursor:"pointer", 10 } 11 12 prev() { 13 return this.props.dispatch({type:'PREV'}); 14 } 15 16 render() { 17 return ( 18 <button style={this.prev} onClick={this.prev}><</button>...① 19 <button style={this.prev} onClick={()=>this.props.dispatch({type:'PREV'})}><</button>...② 20 ); 21 } 22} 23 24export default connect((state)=>state)(Prev);
①の場合では
Uncaught Error: Expected onClick
listener to be a function, instead got a value of object
type.というエラーになってしまうが、
②の場合では
特にエラーはなくちゃんと動作しました。
自分考え
①の場合もオブジェクトを返していると思うのでエラー文の意味がわからなかった。
どなたかわかる方いたらアドバイスしてくれると助かります。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/18 04:09
2020/02/18 04:12
2020/02/18 05:42
2020/02/18 05:53