일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Render Props
- RTK Query
- react
- React 공식문서
- React18
- React 18
- getUTCDate
- hook
- background tab
- Nextjs
- background setttimeout
- CSS
- react-helmet
- background setInterval
- react hook
- Next13
- codingtest
- Programmers
- next13 head
- React 고급 안내서
- Babel
- background: url
- notFound()
- 고급안내서
- React 18 Nextjs
- React API 참고서
- Javascript
- Nextjs React 18
- React 고급안내서
- context
Archives
- Today
- Total
akjfal
[공식 문서 정리] Effect Hook 사용하기 본문
https://ko.reactjs.org/docs/hooks-effect.html
번역본
*공식 문서를 기반으로한 정리 입니다.
useEffect(()=>functionA)
useEffect는 함수의 rendering이 끝난후 이후 즉 DOM이 업데이트 된 이후 실행된다. 예를 들어보자
import React, { useEffect } from 'react';
import './App.css';
function App() {
const [count, setCount] = React.useState(0);
console.log('rendering')
useEffect(() => {
console.log('useEffect 실행');
document.title = `You clicked ${count} times`;
});
return (
<div className="App">
</div>
);
}
export default App;
위와 같은 코드를 실행시 콘솔창에
과 같은 결과가 나오게된다.
*clean up : useEffect는 기본적으로 그들을 다루기 때문에 업데이트를 따로 하지않는다. 그래서 버그를 방지하기 위해 다음 effect가 적용되기전에 이전 effect를 뒷정리한다. 하지만 이를 여러번 할 시 효율이 하락한다.
So~ useEffect(()=>, [] )를 사용하면 된다.
useEffect(()=>function, [A, B])
useEffect(()=>function, [a, b])를 사용하게되면 rendering을 하고 나서 a와 b의 값을 이전값과 비교하게된다. 이때 값이 달라지게 된다면 useEffect를 싱행하도록한다.
useEffect(()=>function, [])
[]를 보게되면 아무값도 존재하지 않는다. 즉 비교할값이없다. 그래서 처음에만 실행이 되고 이후 실행이 되지않는다.
'react > react-hook' 카테고리의 다른 글
[공식 문서 정리] Hook 규칙 (0) | 2019.10.30 |
---|---|
[공식 문서 정리] Hook API 참고서 (0) | 2019.10.30 |
useState와 function (0) | 2019.10.30 |
Comments