react 事始め 7
◾️State(~ 続き)
ボタンを置いてクリックしたらカウントアップする実装を行う。
コンストラクタで初期値を割り当てた状態は、その状態を変更するときは、setState
で行う
import React, { Component } from 'react'; const App = () => (<Counter></Counter>) class Counter extends Component { constructor(props){ super(props) this.state = { count: 0 } } handlePlusButton = () => { this.setState({ count: this.state.count + 1 }) } render(){ return ( <React.Fragment> <div>count: { this.state.count }</div> <button onClick={this.handlePlusButton}>+1</button> <button >-1</button> </React.Fragment> ) } } export default App;
setStateが実行されると、レンダリングが実行されるようになっている。 カウントダウン(マイナスカウント)も実装する
import React, { Component } from 'react'; const App = () => (<Counter></Counter>) class Counter extends Component { constructor(props){ super(props) this.state = { count: 0 } } handlePlusButton = () => { this.setState({ count: this.state.count + 1 }) } handleMinusButton = () => { this.setState({ count: this.state.count - 1 }) } render(){ return ( <React.Fragment> <div>count: { this.state.count }</div> <button onClick={this.handlePlusButton}>+1</button> <button onClick={this.handleMinusButton}>-1</button> </React.Fragment> ) } } export default App;