FrontEnd/React
[ReactJS] useEffect() 의 활용
kurooru
2023. 1. 11. 15:51
많이 사용하는 기술이라고 하지는 않는다.
다만 쓰지 않는 기술은 아니니 간단하게만 보고 넘어가도록 하자.
아래 코드의 useEffect() 두 개는 같은 동작을 실행하는 코드이다.
import { useState, useEffect } from "react";
function Hello() {
// useEffect runs function
// and reapeat it every time the dependencies(inside []) changes
useEffect(() => {
console.log("Hi :)");
return () => {
console.log("bye :(");
}
}, [])
// same meaning another ver.
// useEffect runs function
// and reapeat it every time the dependencies(inside []) changes
// useEffect(function () {
// console.log("Hi :)");
// return function () {
// console.log("bye :(");
// }
// }, []);
return <h1>Hello</h1>
}
function App() {
// showing -> false(default)
const [showing, setShowing] = useState(false);
const onClick = () => setShowing(curr => !curr);
return (
<div>
{showing ? <Hello /> : null}
<button onClick={onClick}>{showing ? "Hide" : "Show"}</button>
</div>
);
}
export default App;
이전과 달라진점은 useEffect(함수, [dependencies])에서 '함수' 영역에 return문이 생겼다는 것인데,
이것은 원래 '함수'가 꺼질 때 일어나는 다른 함수를 지칭한다.
즉, 나 자신이 사라질 때 남기고 갈 함수를 의미한다.