[TIL]応答中:クラス構成部品のライフサイクルを実現



6.クラスコンポーネント:ライフサイクル実装


  • クラス構成部品のライフサイクル(基本)
  • componentWillMount
  • render
  • componentDidMount

  • クラス構成部品のライフサイクル(展開)
  • componentWillMount
  • render
  • componentDidMount
  • イベントの動作後に、変更が「」画面に出力される値.
  • shouldComponentUpdate
  • componentWillUpdate
  • render
  • componentDidUpdate

  • クラス構成部品コード
  • var classStyle = 'color:red';
    class ClassComp extends React.Component {
      state = {
        number:this.props.initNumber,
        date:(new Date()).toString()
      }
      componentWillMount() {
        console.log('%cclass => componentWillMount',classStyle);
      }
      componentDidMount() {
        console.log('%cclass => componentDidMount',classStyle);
      }
      shouldComponentUpdate(nextProps, nextState) {
        console.log('%cclass => shouldComponentUpdate',classStyle);
        return true;
      }
      componentWillUpdate(nextProps, nextState) {
        console.log('%cclass => componentWillUpdate',classStyle);
      }
      componentDidUpdate(nextProps, nextState) {
        console.log('%cclass => componentDidUpdate',classStyle);
      }
      render() {
        console.log('%cclass => render',classStyle);
        return (
          <div className="container">
            <h2>Class style component</h2>
            <p>Number : {this.state.number}</p>
            <p>Date : {this.state.date}</p>
            <input type="button" value="random" onClick= {
              function() {
                this.setState({number:Math.random()})
              }.bind(this)
            }></input>
            <input type="button" value="date" onClick= {
              function() {
                this.setState({date:(new Date()).toString()})
              }.bind(this)
            }></input>
          </div>
        )
      }
    }