MERN
React - useEffect
jaeha_lee
2023. 6. 25. 16:35
- 의존성이 변경될 때 실행되게 만드는 것
- 입력값이나, 유효성이 바뀌어서 계속 확인해야하는 input 검증에 많이 쓰임.
(예를들어, 회원 가입 시 비밀번호 설정할 때 특수 문자 안되게 하는) - useEffect는 2번째 인자로 의존성 배열을 받는데 (의존성 배열의 값이 변경될 때 useEffect 실행 됨)
- 의존성 배열은 useEffect에게 알려주는 것으로, 해당 배열 안에 포함된 상태나 프로퍼티가 변경되었을 때에만 useEffect의 작업이 실행되어야 함을 의미함
- 의존성 배열을 사용하지 않거나 빈 배열([])로 지정한다면, useEffect의 작업은 컴포넌트가 처음 렌더링되었을 때 한 번만 실행됩니다.
import React, { useEffect, useState } from 'react';
function MyComponent() {
const [count, setCount] = useState(0);
useEffect(() => {
console.log('Count changed!');
}, [count]);
return (
<div>
<p>Count: {count}</p>
<button onClick={() => setCount(count + 1)}>Increment</button>
</div>
);
}
- 위의 코드에서 useEffect는 count 상태가 변경될 때마다 실행되도록 설정되어 있음
- 의존성 배열 [count]은 count 상태에 의존하고 있으므로, count 값이 변경될 때마다
useEffect의 작업인 console.log('Count changed!')가 실행됩니다.