LifeCycle Method
1. 컴포넌트가 마운트될 때 : componentDidMount
2. 컴포넌트가 리렌더링될 때 : componentDidUpdate
3. 컴포넌트가 마운트 해제되기 전에 : componentWillUnmount
useEffect: 리액트 컴포넌트가 렌더링될 때마다 특정 작업을 수행하도록 설정할 수 있는 Hook
const Into = () => {
const [name, setName] = useState('');
const [nickname, setNickname] = useState('');
useEffect(() => {
console.log('렌더링이 완료되었습니다.')
console.log({
name,
nickname
});
});
...
→ input 내용을 변경할 때마다 name과 nickname이 console에 찍히는 것을 확인할 수 있다.
useEffect(()=>{
console.log('마운트될 때만 실행됩니다.');
}, []);
useEffect(()=>{
console.log(name);
}, [name]);
useEffect(() => {
console.log('effect');
console.log(name)
return () => {
console.log('cleanup')
console.log(name)
};
},[name]);
import {useState} from 'react';
import Info from './Info';
const App = () => {
const [visible,setVisible] = useState(false)
return (
<div>
<button
onclick = {() => {
setVisible(!visible);
}}
>
{visible ? '숨기기' : '보이기'}
</button>
<hr/>
{visible && <Info/>}
</div>
);
};
useEffect(() => {
console.log('effect');
return () => {
console.log('unmount')
};
},[]);
출처: