いつもお世話になっております。
今回はES6について質問をよろしいでしょうか。
※Reactの公式ドキュメント内にあるプログラムを参照していますが、ES6に関する質問内容です。
Reactの公式ドキュメントを見ていると、以下のようなプログラムが見つかりますが、
ClockクラスのcomponentDidMountメソッドで
setIntevalの第一引数をアロー関数にする必要があるのはなぜでしょうか。
ネットで調べましたが、腑に落ちず悶々としております。
どなたかご存知でしたら、ご回答いただけますと幸いです。
宜しくお願いいたします。
javascript
1class Clock extends React.Component { 2 constructor(props) { 3 super(props); 4 this.state = {date: new Date()}; 5 } 6 7 componentDidMount() { 8 this.timerID = setInterval( 9 () => this.tick(), 10 1000 11 ); 12 } 13 14 componentWillUnmount() { 15 clearInterval(this.timerID); 16 } 17 18 tick() { 19 this.setState({ 20 date: new Date() 21 }); 22 } 23 24 render() { 25 return ( 26 <div> 27 <h1>Hello, world!</h1> 28 <h2>It is {this.state.date.toLocaleTimeString()}.</h2> 29 </div> 30 ); 31 } 32} 33 34ReactDOM.render( 35 <Clock />, 36 document.getElementById('root') 37); 38
回答1件
あなたの回答
tips
プレビュー