いつも大変お世話になっております。
現在 react, redux の勉強をしています。
以下の書籍を読んでいるのですが、ソースコード上でわからない箇所があります。
javascript
1import React from 'react'; 2import {setName, setAge} from "./actions/userAction"; 3import {connect} from "react-redux"; 4 5class App extends React.Component { 6 7 clickSetName() { 8 this.props.setName("Taro Yamada"); 9 } 10 11 clickSetAge() { 12 this.props.setAge("30"); 13 } 14 15 render() { 16 return ( 17 <> 18 19 <button onClick={this.clickSetName.bind(this)}> 20 Set Name 21 </button> 22 23 {this.props.name}<br/> 24 25 <button onClick={this.clickSetAge.bind(this)}> 26 Set Age 27 </button> 28 29 {this.props.age} 30 31 </> 32 ); 33 } 34} 35 36const mapStateToProps = (state) => { 37 return { 38 name: state.name, 39 age: state.age, 40 }; 41} 42 43const mapDispatchToProps = (dispatch) => { 44 return { 45 46 setName: (name) => dispatch(setName(name)), 47 setAge: (age) => dispatch(setAge(age)) 48 49 } 50} 51 52export default connect(mapStateToProps, mapDispatchToProps)(App);
上記ソースコードの、{this.clickSetName.bind(this)}
と{this.clickSetAge.bind(this)}
は
{this.clickSetName}
と{this.clickSetAge}
ではいけないのでしょうか?
試したけれど、確かに動作はしなかったです。
ただ、なぜ.bind(this)
をつける必要があるのかがわかりません。
どなたかご教授いただけますと幸いです。
それではどう宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/15 13:02