더보기
노마드코더 ReactJS로 영화 웹 서비스 만들기 #Cleanup
import Button from "./Button";
import styles from "./App.module.css";
import { useState, useEffect } from "react";
function Hello() {
useEffect(() => {
console.log("hi :)");
return () => console.log("bye :(");
}, []);
return <h1>Hello</h1>;
}
function App() {
const [showing, setShowing] = useState(false);
const onClick = () => setShowing((prev) => !prev);
return (
<div>
{showing ? <Hello /> : null}
<button onClick={onClick}>{showing ? "Hide" : "Show"}</button>
</div>
);
}
export default App;
Clean-up함수란, useEffect()에서의 return 함수이다.
useEffect의 함수는 dependency가 변화할 때 호출된다. 현재는 dependency가 비어있기 때문에 컴포넌트가 처음 렌더링될 때 한번 함수가 호출된다.
useEffect 함수가 return 하는 함수는 컴포넌트가 파괴될때 실행된다.
=> show 버튼을 클릭하면 Hello 컴포넌트가 렌더링돼 hi :) 가 콘솔에 찍히고
hide로 바뀐 버튼을 클릭하면 Hello 컴포넌트가 destory 되고 bye :( 가 찍힌다.
'FRONT > REACT' 카테고리의 다른 글
[React] 노마드코더 영화 웹서비스 - Coin Tracker (0) | 2022.01.07 |
---|---|
[React] 리액트로 간단한 투두리스트 만들기 (0) | 2022.01.07 |
[React] UseEffect 사용하기(노마드코더 영화 웹서비스 만들기) (0) | 2022.01.06 |
[react] Converter 만들기 (state 사용) (0) | 2021.12.30 |
[리액트] 도서 검색 사이트 만들기 (2) | 2021.09.05 |