반응형
useEffect
useEffect는 기본적으로 몇 가지 조건에 의해 작동하게 된다.
1. 페이지가 처음 렌더링 되고 난 후
2. useEffect에 배열로 지정한 useState값이 변경될 때
즉 useEffect는 랜더링, 변수의 값 혹은 오브젝트가 달라지게 되면 그것을 인지하고 업데이트 해주는 함수이다.
useEffect는 콜백함수를 부르게 되며, 랜더링 혹은 값, 오브젝트의 변경에 따라 어떠한 함수 혹은 여러개의 함수를 동작시킬 수 있다.
useEffect를 사용하는 방법
useEffect(() => {});
가장 기본적인 형태이지만 잘 사용하지 않는 형태이다.
Dependency가 없기 때문에 랜더링 할 때 한번, 그리고 어떤 작은 변화가 있을때마다 시시때때로 useEffect가 발생되므로 불필요한 실행이 너무 많아진다.
(Dependency여부와 상관 없이 랜더링이 끝나면 무조건! useEffect가 한번 실행된다)
userEffect(() => {},[])
useEffect를 랜더링 후 단 한 번만 실행하고 싶을 때 사용하는 형태이다.
콜백함수 뒤에 배열을 나타내는 대괄호가 붙어있고 이곳에 Dependency를 지정한다.
하지만 아무변수나 값 없이 대괄호만 있다면 이 함수는 useEffect실행 후 단 한번만 실행되고 다시는 실행되지 않는다.
const [name, setName] = useState();
useEffect(() => {},[name]);
useEffect를 랜더링 후 한번, 배열안 변수의 값이 변할 때 마다 실행되는 코드이다.
Dependency를 배열 안에 지정해주어 지정된 변수의 값이 변했을 때만 실행되는 형태이다.
반응형
'Today I Learn > React' 카테고리의 다른 글
[React.js] input box에 1000단위마다 자동으로 comma 넣기 (0) | 2021.09.07 |
---|---|
[React] geolib. getDistance 두 좌표의 거리 계산하기 (0) | 2021.09.01 |
[React] 리액트로 포트폴리오 웹사이트 만들기 - 레이아웃 (0) | 2021.08.11 |
[React] Props 정리하기 (0) | 2021.08.10 |
[react] 카카오 지도 api 구현 안되는 문제 해결 (0) | 2021.08.09 |