React - useDidMount custom hook
2960 ワード
usedMount hookの作成
Reactのクラス要素には、
Report 16.8以降にhookが導入されたが、これと同様のhookは
hookを導入すると、custom hookを使う機能が実現できると思いますので、その必要性を感じず、新しいhookを作成しませんでした.
では、自分で実現しましょう.
反応器に関する
初期レンダリング認知値が
その理由は、
これは不要な場合なので
Reactのクラス要素には、
componentDidMount
という方法がある.Report 16.8以降にhookが導入されたが、これと同様のhookは
componentDidMount
にすぎない.hookを導入すると、custom hookを使う機能が実現できると思いますので、その必要性を感じず、新しいhookを作成しませんでした.
では、自分で実現しましょう.
usedMountの作成
反応器に関する
useEffect
説明は以下の通りである.componentDidMount
-構成部品のインストール後(つまり、ツリーを挿入した後)に呼び出されます.この方法を使用して、DOMノードを必要とする初期化操作を完了します.初期レンダリング認知値が
componentDidMount()
値であることが通知された場合、コードブロックはクエリ条件boolean
として入力された場合にのみ実行され、true
と同様の操作が実行される.useDidMount
import { useRef, useEffect } from 'react';
const useDidMount = () => {
const didMountRef = useRef(false);
useEffect(() => {
didMountRef.current = true;
}, []);
return didMountRef.current;
};
export default useDidMount;
初期レンダリング時にcomponentDidMount
,useEffect
を実行すると、useDidMount
の値が返されます.なぜuseStateではなくuseRefを使用するのか
その理由は、
true
の代わりにuseState
を用いた後、useRef
を1つ追加すれば理解できるからである.console.log
はDOMを更新するため、useState
は2回撮影される.これは不要な場合なので
console.log
を使用しました.Reference
この問題について(React - useDidMount custom hook), 我々は、より多くの情報をここで見つけました https://velog.io/@pest95/React-useDidMount-custom-hookテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol