React.useEffect()
useEffect
Reactは、レンダリング後に実行すべきアクションを示します.
これは、ライフサイクル(life-croycle)が素子にも使用できることを意味する.
useStateと同様に複数回使用できます.
useEffect(function, deps)
function:実行するアクション
deps:配列の形式で、配列でチェックする特定の値または空の配列を使用できます.
import React, { useEffect } from 'react';
useEffect(() => {
console.log('렌더링 될 때마다 실행')
})
useEffect(() => {
console.log('마운트 될 때만 실행');
}, []);
useEffect(() => {
console.log('특정 값이 업데이트 될 때만 실행');
}, [특정 값]);
useStateとともに使用
構成部品の内部にuserEffectを作成します.
ステータス変数にアクセスできます.
次の例は、レンダリングするたびにuserEffectとして機能します.
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
useEffect(() => {
document.title = `버튼클릭 ${count} 번 되었습니다!`;
});
return (
<div>
<p>버튼 클릭 : {count} 번</p>
<button onClick={() => setCount(count + 1)}>
클릭해주세요
</button>
</div>
);
}
特定のステータスが変更された場合にのみ使用
次の例では、countが変更された場合にのみEffectを使用します.
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
useEffect(() => {
document.title = `버튼클릭 ${count} 번 되었습니다!`;
},[count]);
return (
<div>
<p>버튼 클릭 : {count} 번</p>
<button onClick={() => setCount(count + 1)}>
클릭해주세요
</button>
</div>
);
}
複数使用userEffect
import React, { useState, useEffect } from "react";
export default function App() {
const [count, setCount] = useState(0);
const [name, setName] = useState("Elina");
useEffect(() => {
console.log("렌더링 될때마다 실행되는 함수");
});
useEffect(() => {
console.log("처음 한 번만 실행되는 함수");
}, []);
useEffect(() => {
console.log("카운트 값이 업데이트 될 때만 실행되는 함수");
}, [count]);
useEffect(() => {
console.log("이름이 바뀌었을 때만 실행되는 함수");
}, [name]);
const handleAddCount = () => {
setCount(count + 1);
};
const handleChangeName = () => {
setName("윤정이");
};
return (
<div>
<button onClick={handleAddCount}>카운트증가</button>
<button onClick={handleChangeName}>이름 바꾸기</button>
<h1>{count}</h1>
<h1>{name}</h1>
</div>
);
}
最初のページのレンダリング
増加あたりの数
[名前を変更](Rename)をクリックします.
Reference
この問題について(React.useEffect()), 我々は、より多くの情報をここで見つけました https://velog.io/@elinapark/React.useEffectテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol