빈배열 일때는
1. 타이머 했다면 타이머 정리, 구독을 했다면 구독 정리, 리스너를 등록 했다면 리스너 정리.
예제)
import { useRef, useState,useEffect } from "react";
const UseEffectExample = () => {
const [name, setName] = useState("");
const [count, setCount] = useState(0);
const handleChangeName = (e) => setName(e.target.value);
const handleCountUp = () => setCount(count + 1);
// name이 바뀔 때만 실행
useEffect(() => {
console.log("name 렌더링!");
console.log({ count, name });
}, [name]);
// count가 바뀔 때만 실행
useEffect(() => {
console.log("count 렌더링!");
console.log({ count, name });
}, [count]);
//렌더링 될때 마다 실행
useEffect(() => {
console.log("렌더링 될때 마다");
console.log({ count, name });
});
//첫랜더링 한번만 실행
useEffect(() => {
console.log("첫랜더링 한번만 실행");
console.log({ count, name });
},[]);
return (
<div>
<p>이름입력</p>
<input type={"text"} value={name} onChange={handleChangeName} />
<p>카운트 : {count}</p>
<button onClick={handleCountUp}>카운트 업</button>
</div>
);
}
export default UseEffectExample;
'React(리액트)' 카테고리의 다른 글
React - Router(리액트 라우터) (0) | 2022.02.03 |
---|---|
React(리액트) - useRef (0) | 2022.02.03 |
React - 중요개념들 (0) | 2022.01.28 |
리액트 에서의 객체 구조 분해 할당(destructuring) = 활용. (0) | 2022.01.26 |
React - Redux (리액트-리덕스) (0) | 2022.01.21 |