ReactライフサイクルReactのライフサイクルを理解するのに役立つ2つの図
クラスLifeはReact.Componentを拡張します{ // コンストラクタ コンストラクタ(props){ console.log('ライフコンストラクタ---コンストラクタ'); スーパー(小道具) this.state={num:0} } // +1 を計算する function add=()=>{ 定数{num} = this.state this.setState({num:num+1}) } // コンポーネントを削除する death=()=>{ ReactDOM.unmountComponentAtNode(document.getElementById('text')) } 力=()=>{ this.forceUpdate() } // マウントしますcomponentWillMount(){ console.log('Life がマウントされます --- componentWillMount'); } // すでにマウントされているcomponentDidMount(){ console.log('ライフがマウントされました --- componentDidMount'); } // トリガーを削除するcomponentWillUnmount(){ console.log('ライフ削除トリガー --- componentWillUnmount'); } // データを変更する必要がありますか? shouldComponentUpdate(){ console.log('ライフはデータを変更しますか --- shouldComponentUpdate'); 真を返す } // データが変更されますcomponentWillUpdate(){ console.log('ライフはデータを変更しようとしています---componentWillUpdate'); } //データコンポーネントDidUpdate()を変更する{ console.log('ライフ変更データ---componentDidUpdate'); } 与える(){ console.log('Life---レンダリング'); 定数{num} = this.state 戻る( <div> <h1>カウンター: {num}</h1> <button onClick={this.add}>クリックして +1</button> <button onClick={this.death}>削除</button> <button onClick={this.force}>データの状態を変更せず、強制的に更新します</button> </div> ) } } // ページをレンダリングする ReactDOM.render(<Life />, document.getElementById('text')) 取り付け手順 更新手順 消去 概要: 初期化フェーズ: ReactDOM.render() によって開始される - 初期レンダリング React ライフサイクル (新規) ライフサイクルの 3 つのフェーズ (新規) 初期化フェーズ: ReactDOM.render() によってトリガーされる - 初期レンダリング
1.render: レンダリングを初期化するか、レンダリング呼び出しを更新する
1.コンポーネントマウント
面接官がよく聞くReactライフサイクルの質問についての記事はこれで終わりです。Reactライフサイクルに関するその他のコンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Java を Mysql バージョン 8.0.18 に接続する方法の詳細な説明
背景日本語を学び始めた当初は、日本語の50音を覚えるのは簡単ではなく、特にカタカナを覚えるのは困難で...
多くの場合、 Web デザインが完成した後でデザイナーの無知が露呈し、批判されることがあります。彼ら...
Yum経由でJenkinsをインストールする1. インストール # yum ソースをインポート wg...
データベースを使用するアプリケーションを開発する場合、必然的にユニオンクエリを使用する必要があります...
目次1. インストール2. videojsの紹介3. コンポーネントでのテストと使用1. 基本的な自...
目次rc.local メソッドchkconfig メソッドrc.local メソッド1 まず自動的に...
背景: SAP ECC サーバーをインストールし、XP をプレインストールしたいと考えています。XP...
MySQL は、膨大なユーザーベースを持つ無料のリレーショナル データベースです。この記事では、My...
この問題を理解する前に、まず MySQL テーブルのストレージ構造を確認し、次にバイナリ ツリー、マ...
mysql 5.7.19 winx64解凍版のインストールチュートリアルを収録しました。具体的な内容...
今日、フラッシュ広告のコードを書いていたとき、フラッシュに付属するリンクはポップアップ広告と間違われ...
パフォーマンスの黄金律:エンドユーザーの応答時間のわずか 10% ~ 20% が HTML ドキュメ...
コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...
この記事では、左ボタンと右ボタンをクリックすることで画像を切り替えるjQueryの具体的なコードを例...
MySQL(5.6以下)はjsonを解析します #json 解析関数 DELIMITER $$ `j...