useEffectの詳細/ useEffectの使用?


10

useEffectフックの詳細を理解しようとしています。

どの方法をいつ使用するのか、なぜ知りたいのですか?

1.useEffect with no second paraments
 useEffect(()=>{})

2.useEffect with second paraments as []
  useEffect(()=>{},[])

3.useEffect with some arguments passed in the second parameter
 useEffect(()=>{},[arg])

3
1.マウントおよびすべての依存関係の更新時に呼び出されます(任意の状態/小道具が変更されます)。2.依存関係の空のリストを指定したため、マウント時にのみ呼び出されます。3.マウント時、およびリストされている依存関係の変更時に呼び出されます
ajobi

2
ダン・アブラモフ監督はuseEffectに関する優れたブログの記事を書いています:overreacted.io/a-complete-guide-to-useeffect
ぜひお

回答:


18
useEffect(callback)

すべてのコンポーネントレンダリングで実行されます。

通常、デバッグに使用され、すべてのレンダリングでの関数本体の実行に類似しています。

const Component = () => {
  callback()
  return <></>;
};

useEffect(callback,[])

コンポーネントマウントで1回実行されます。

通常、データのフェッチなどによってコンポーネントの状態を初期化するために使用されます。

レンダーフェーズのに実行されるコールバック(既知の「Gotcha」)。


useEffect(callback,[arg])

値の変更時に実行さargます。

「オン変化」を意味浅い比較の前の値を持つarg(の値と比較するarg前にレンダリングから、現在のいずれかをprevArg === arg ? Do nothing : callback())。

通常、小道具/状態の変化でイベントを実行するために使用されます。

注:複数の依存関係を提供できます。 [arg1,arg2,arg3...]



1

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

1.useEffectに2番目のパラメーターがない場合:これは、コンポーネントがマウントされたとき、またはコンポーネントが更新されたときに何かが発生する場合に使用されます。概念的には、すべてのレンダリングの後にそれが発生するようにします。

2.2番目のパラメーターを[]として使用するuseEffect:これは、コンポーネントのマウント時に何かが発生したい場合に使用されます(マウント時に一度だけ実行される場合)。

3.useEffectと2番目のパラメーターで渡されたいくつかの引数:これは、例えば、プランターが渡されたときに何かが発生したい場合に使用されます。引数はあなたのケースで変更されました。

詳細については。ここをチェックしてください:https//reactjs.org/docs/hooks-effect.html


0

3. 2番目のパラメーターに渡されたいくつかの引数を使用したuseEffect useEffect(()=> {}、[arg])

最初に実行され、次に引数が変更された場合に再度実行されます

また、useEffect内の戻り値について質問するのも忘れてください...コンポーネントのマウントが解除されたときに実行されるクリーンアップの用途

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.