反応を処理するテクノロジー:ライフサイクルメソッド
ライフサイクルメソッド
すべての反応素子にライフサイクルが存在する。コンポーネントの寿命は、ページにログインする前の準備プロセスから始まり、ページから消えるまでです。
プロジェクトを行う場合は、構成部品を最初に登録したり、構成部品を更新したりするときに、いくつかのタスクを処理する必要がある場合があります.また、不要な更新を防止する必要がある場合もあります.
この場合、構成部品のライフサイクルメソッドを使用します.ライフサイクルメソッドは、クラス構成部品にのみ適用されます.Hooks機能を使用すると、関数型構成部品で同様のタスクを処理できます.
ライフサイクルメソッドの理解
ライフサイクルメソッドは9種類あります.Will接頭辞付きの方法は、ある操作の前に実行される方法であり、Did接頭辞付きの方法は、ある操作の後に実行される方法である.この方法は、構成部品クラスで宣言を上書きすることによって使用できます.
ライフサイクルは、マウント、更新、アンインストールのカテゴリに分けられます.何があるかを理解し、大きなトレンドを理解し、一つ一つよく観察します.
マウントマウント
DOMを生成してWebブラウザに表示することをマウントと呼びます.Mountで呼び出す方法は次のとおりです.
構成部品の作成
コンストラクション関数構成部品を新規作成するたびに呼び出されるクラスジェネレータメソッド
getDerivedStateFromPropspropsの値をstateに入れるときに使用する方法
レンダリング準備UIのレンダリング方法
コンポーネントDidMountコンポーネントがWebブラウザに表示された後に呼び出される方法
更新
更新は、次の4つのケースで行われます.
getDerivedStateFromPropsgetDerivedStateFromPropsはインストール中にも呼び出され、更新開始前にも呼び出されます.propsの変化により、状態値を変更したい場合に使用します.
shouldComponentUpdate構成部品を再レンダリングする方法を決定します.boolean値を返す必要があります.trueの場合、実行を続行するとfalseは再レンダリングを停止します.特定の関数でthisの場合.forceUpdate()関数が呼び出されると、このプロシージャは省略され、render関数がすぐに呼び出されます.
trueまたはfalsetrueを返すとrenderが呼び出され、falseを返すとここで操作がキャンセルされます.
を使用してインポートしたストロークVSラム速度のデータ点を示します.
DOMにgetSnapshotBeforeUpdateコンポーネントの変化を反映する前に呼び出す方法
コンポーネントDidUpdateコンポーネントの更新後に呼び出す方法
Unload Unload Unload Unload Unload Unload Unload Unload Unload Unload
Mountの逆過程は、DOMから素子を除去することである.
componentWillUnmount:コンポーネントがWebブラウザから消える前に呼び出されるメソッド.
ライフサイクルメソッドの表示
前に説明したライフサイクルの方法を一つ一つ詳しく説明しましょう.
render()関数
render() { ... }
renderメソッドは、構成部品の外観を定義します.したがって、コンポーネントで最も重要な方法であり、ライフサイクルメソッドで唯一必要な方法でもあります.
renderメソッドでは道具とこれstateにアクセスして反応元素を返すことができます.要素はdivなどのhtmlタグであってもよいし、単独で分離して作成されたコンポーネントであってもよい.
なお、renderメソッドでは、setStateはイベント設定以外の場所では使用できず、ブラウザのDOMにもアクセスできません.DOM情報をインポートしたり、ステータスを変更したりする場合は、ComponentDidMountで処理する必要があります.
コンストラクタメソッド
constructor(props) { ... }
コンストラクション関数メソッドは、構成部品の作成時に初めて実行される構成部品の作成者メソッドです.初期状態値は、コンストラクション関数メソッドで決定できます.
getDerivedStateFromPropsメソッド
受信したprops値をstateに同期し、構成部品のマウントと更新時に呼び出すために使用します.
static getDerivedStateFromProps(nextProps, prevState){
if(nextProps.value !== prevState.value){ // 조건에 따라 특정 값 동기화
return { value: nextProps.value };
}
return null // state를 변경할 필요가 없다면 null return
}
ComponentDidMountメソッド
Reference
この問題について(反応を処理するテクノロジー:ライフサイクルメソッド), 我々は、より多くの情報をここで見つけました https://velog.io/@tchaikovsky/리액트를-다루는-기술-라이프사이클메서드テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol