React Life Cycle 테스트
2021. 11. 23. 14:19ㆍ프론트엔드/React.js
728x90
저번 포스팅에서 라이프 사이클을 Hook으로 제어하는 방법에 대해 알아봤다.
그런데 그것만으론 좀 부족한거 같아서 테스트를 해보기로 했다.
Mount, Unmount되는 조건은 무엇일까?
우선 가장 궁금한 부분은 '조건에 의해 컴포넌트를 출력된다면 어떻게 될까?' 였다.
다음과 같은 코드를 구성해봤다.
function TextComp() {
const [foo, setFoo] = useState<number>(0);
useEffect(() => {
console.log("Component Did Mount");
return () => {
console.log("Component Will Unmount")
}
}, []);
useEffect(() => {
console.log("Foo update: " + foo);
}, [foo]);
return (
<button onClick={() => setFoo(foo + 1)}>{foo}</button>
)
}
function App() {
const [visible, setVisible] = useState<boolean>(false);
return (
<>
{visible
? <TextComp />
: null
}
<button onClick={() => setVisible(!visible)}>내가 사라져볼게</button>
</>
)
}
'내가 사라져볼게'버튼을 누르면 visible변수가 바뀌면서 TextComp가 출력될수도 아닐수도 있게 되는 경우다.
결과는 과연?
다음과 같이 visible이 바뀌자 component가 mount되었다가 unmount되는 것을 확인할 수 있었다.
'프론트엔드 > React.js' 카테고리의 다른 글
Redux 실전기 1 - 깡프로젝트에 Redux 추가하기 (0) | 2021.11.26 |
---|---|
Redux 탐험기 (0) | 2021.11.23 |
React.js의 LifeCycle (with Hooks) (0) | 2021.11.23 |
Tailwind + React.js 세팅하기 (0) | 2021.11.10 |
Material-UI 사용 중에 findDOMNode is deprecated 에러가 뜬다면? (0) | 2021.07.14 |