React component가 랜더링 될때마다 side effect를 실행 할 수 있도록 하는 리액트 Hook!
함수형 컴포넌트에서도 클래스형 컴포넌트에서 사용했던 생명주기 메서드를 사용가능하다.
useEffect(function, deps)
import React from 'react';
import { useEffect } from 'react';
function Test() {
useEffect(() => {
console.log('useEffect실행!')
}, [])
return (
<div>
</div>
);
}
export default Test;
useEffect는 함수를 반환하는데 이를 Cleanup이라고 한다
useEffect(() => {
console.log("컴포넌트 나타남");
console.log(name);
return () => {
console.log("cleanUp 함수");
};
});```
### useEffect, useState활용
---
```javascript
import React from 'react';
import { useState } from 'react';
import { useEffect } from 'react';
function Test() {
const [count, setCount] = useState(0)
useEffect(() => {
console.log('useEffect실행!')
return () => {
console.log('cleanup')
}
}, [count])
return (
<div>
{count}
<button onClick={() => { setCount((prev) => prev + 1) }}>+1</button>
</div >
);
}
export default Test;