React HooksでcomponentWillMount()を使用する方法は?

Abrar:

Reactの公式ドキュメントではそれが言及しています-

Reactクラスのライフサイクルメソッドに精通している場合は、useEffectフックを、componentDidMount、componentDidUpdate、およびcomponentWillUnmountを組み合わせたものと考えることができます。

私の質問は- componentWillMount()ライフサイクルメソッドをフックで使用するにはどうすればよいですか?

バスカーギャンバルダン:

既存のライフサイクルメソッド(のいずれかを使用することはできませんcomponentDidMountcomponentDidUpdatecomponentWillUnmountフックになど)。これらはクラスコンポーネントでのみ使用できます。また、フックを使用すると、機能コンポーネントでのみ使用できます。以下の行は、React docからのものです。

あなたはクラスのライフサイクルメソッドを反応させるのに精通している場合、あなたは考えることができますuseEffectようフックcomponentDidMountcomponentDidUpdatecomponentWillUnmount組み合わせます。

つまり、機能コンポーネントのクラスコンポーネントからこれらのライフサイクルメソッドを模倣することができます。

componentDidMountコンポーネントがマウントされると、内部のコードが1回実行されます。useEffectこの動作に相当するフックは

useEffect(() => {
  // Your code here
}, []);

ここの2番目のパラメーターに注意してください(空の配列)。これは一度だけ実行されます。

2番目のパラメーターuseEffectがない場合、コンポーネントのすべてのレンダリングで危険な可能性があるフックが呼び出されます。

useEffect(() => {
  // Your code here
});

componentWillUnmountクリーンアップに使用します(イベントリスナーの削除、タイマーのキャンセルなど)。以下のように、イベントリスナーを追加しcomponentDidMountて削除するとcomponentWillUnmountします。

componentDidMount() {
  window.addEventListener('mousemove', () => {})
}

componentWillUnmount() {
  window.removeEventListener('mousemove', () => {})
}

上記のコードに相当するフックは次のようになります

useEffect(() => {
  window.addEventListener('mousemove', () => {});

  // returned function will be called on component unmount 
  return () => {
    window.removeEventListener('mousemove', () => {})
  }
}, [])

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

React HooksでcomponentWillMount()を使用する方法は?

ReactのcomponentWillMountでAPIを呼び出すことはできますか?

TypeError dispatcher.useStateは、React Hooksを使用する場合の関数ではありません

React Hooks useEffectでoldValuesとnewValuesを比較する方法は?

React Hooksでプロップを状態に変更する方法は?

Reactで、componentWillReceivePropsとcomponentWillMountのどちらを使用するかを決定する方法は?

接続されたReact-Reduxコンポーネント内でcomponentWillMountをテストする方法は?

ReactでsetIntervalを使用する方法は?

React-HooksとApolloClientを使用してReact-GraphQLに検索機能を実装する方法は?

componentWillMountの状態を更新し、React Nativeのレンダリング関数でその値を使用するにはどうすればよいですか?

reactでfontawesomeを使用する方法は?

React NativeでcomponentWillUnmountを使用する方法は?

React:AddListener()でsetStateを使用する方法は?

Jestとreact-testing-libraryでreact-hooksを使用する方法

ReactでPaperJを使用する方法は?

React Hooksを使用してwithAuth()HOCを置き換えるにはどうすればよいですか?

react-apollo-hooksとformikで突然変異を使用する方法は?

react-hooksでredux-sagasを使用する方法

localStorageを使用してチェックボックスの値を保存する方法は?(react + hooks)

React with HooksでJSONをフェッチする適切な方法は何ですか?

React内でanimejsを使用する方法は?

react-Hooksでタイマーをリセットする方法

ReactでMSALを使用する方法は?

react-error-boundaryをreactで適切に使用する方法は?

React Hooks createContext:配列のときにUserContextを更新する方法は?

React Hooksで子から親への状態変更をトリガーする方法は?

react-native-vector-iconsをreact-native-webで使用する方法は?

ReactでIntersectionObserverを使用する方法は?

React Hooksで状態にプッシュする方法は?

TOP 一覧

  1. 1

    PictureBoxで画像のブレンドを無効にする

  2. 2

    Pythonを使用して、リストからデータを読み取り、特定の値をElasticsearchにインデックス付けするにはどうすればよいですか?

  3. 3

    Rパッケージ「AppliedPredictiveModeling」のインストール中にエラーが発生しました

  4. 4

    C ++でのcURLとマルチスレッドの使用

  5. 5

    Chromeウェブアプリのウェブビューの高さの問題

  6. 6

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  7. 7

    Python / SciPyのピーク検出アルゴリズム

  8. 8

    Spring @ModelAttributeモデルフィールドマッピング

  9. 9

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  10. 10

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  11. 11

    tf.nn_conv2dとtf.nn.depthwise_conv2dの違い

  12. 12

    Ansibleで複数行のシェルスクリプトを実行する方法

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  15. 15

    MyBatisがネストされたオブジェクト属性を参照するとOgnlExceptionが発生します

  16. 16

    java.lang.NoClassDefFoundError:com / sun / istack / tools / DefaultAuthenticator $ Receiver

  17. 17

    テキストフィールドの値に基づいて UIslider を移動します

  18. 18

    HTTPヘッダー 'SOAPAction'の値はサーバーによって認識されませんでした

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    追加後、ブートストラップマルチセレクトがテーブルで機能しない

  21. 21

    レスポンシブウェブサイトの一番下にスティッキーなナビゲーションバーを作成するのに問題がある

ホットタグ

アーカイブ