라이프사이클 (Lifecycle)
컴포넌트 생명 주기 (Component Lifecycle)
: 생성(mounting) → 업데이트(updating) → 제거(unmounting)
mount
: 컴포넌트가 생성될 때
componentDidMount()
useEffect(() => {
// 컴포넌트가 화면에 가장 처음 렌더링됐을 때에만 실행하고 싶을 때
},[]);
update
: 컴포넌트가 업데이트 될 때
props
가 바뀔 때state
가 바뀔 때- 부모 컴포넌트가
리렌더링
될 때 forceUpdate
로 강제로 렌더링 트리거할 때
componentDidUpdate(prevProps, prevState, snapshot)
useEffect(() => {
// 특정 값이 업데이트될 때마다 실행하고 싶을 때
},[email, password]); // 이 배열을 useEffect의 dependency array라고 부름
unmount
: 컴포넌트가 사라질 때
componentWillUnmount()
useEffect(() => {
return () => {
// 컴포넌트가 사라지기 직전에 특정 코드를 실행하고 싶을 때
};
},[]);