useEffect Hook
useEffect(() => {
// func
return () => {
// cleanup func
}
}, [deps]);
主な概念
deps:依存配列(依存値が配列に入る)
-空の場合、構成部品が最初に表示されたときにのみ実行されます.
cleanup関数:userEffectのreturn関数.構成部品が置換または除去される前に呼び出されます.
構成部品の取り付け時に通常追加される操作
-propsとして受信した値を構成部品の状態に設定
userEffectの関数呼び出しポイントは、UIが画面に表示された後であるため、DOMに直接アクセスすることができる.
構成部品のアンインストール時に通常追加されるアクション
-clearInterval、clearTimeout等
削除
depsがなければ
import { useEffect } from "react";
function User({ user, onRemove, onToggle }) {
const { username, age, id, active } = user;
useEffect(() => {
console.log("컴포넌트가 화면에 나타납니다.");
return () => {
console.log("컴포넌트가 화면에서 사라집니다.");
};
}, []);
3つの
新しい
depsが存在する場合
function User({ user, onRemove, onToggle }) {
const { username, age, id, active } = user;
useEffect(() => {
console.log("user값이 설정되었습니다.");
console.log(user);
return () => {
console.log("user값이 바뀌기 전");
console.log(user);
};
}, [user]);
-値が変更される前にcleanup関数を実行します.
注意事項
userEffectから受信したprops値を参照するか、userStateによって管理されている値を参照する場合は、deps配列を入れて最新の状態を維持する必要があります.
Reference
この問題について(useEffect Hook), 我々は、より多くの情報をここで見つけました https://velog.io/@green9930/useEffect-Hookテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol