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 に接続する方法の詳細な説明
Windows サーバーでデータベース データを定期的にバックアップする場合は、Windows タス...
最近、ブログのアップグレードを始めました。テンプレートを変更する過程で、CSS スタイルシートを書き...
2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...
この記事の例では、WeChatアプレットのシームレスなスクロールを実現するための具体的なコードを参考...
多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...
CSSを導入する3つの方法1. インラインスタイル利点: 書きやすく、重みがある 欠点: 構造とスタ...
一般的なアプリケーションでは、timestamp、datetime、int 型を使用して時間形式を保...
1. pytorch公式サイトから対応するインストールファイルをダウンロードします。 https:...
背景このバグは滾動條占據空間ことで発生していました。いくつかの情報を確認して、ようやく解決しました。...
この記事は、WeChat アプレットを使用して作成された簡単な計算機です。興味のある方はご覧ください...
この記事では、MySQL 8.0.24のインストールチュートリアルを参考までに紹介します。具体的な内...
平行ボックスの余白 (二重余白の重なり) に関する面接の質問: 1 つのボックスに上余白があり、もう...
1. 概要MySQL バージョン: 5.6.21ダウンロードアドレス: https://dev.my...
私はかつて、ウェブサイトを一度も構築したことのない人々が、初心者向けのウェブサイト構築方法に関する私...
01. コマンドの概要貼り付けコマンドは各ファイルを列ごとに結合します。これは、2 つの異なるファイ...