함수 내에서 어떤 구현이 함수 외부에 영향을 끼치는 경우, 해당 함수는 Side Effect
가 있다고 한다.
React에서
Side Effect
가 발생하는 경우
1. 네트워크 요청을 하는 경우 (fetch API..)
2. 타이머 사용(setTimeout)
3. LocalStorage
순수 함수는 함수에 입력된 값만이 함수의 결과에 영향을 주고, 입력된 값을 수정하지 않는 함수를 말한다.
Math.random()
은 항상 같은 값이 리턴되지 않으므로 순수 함수가 아니다.
useEffect
는 컴포넌트 내에서 side Effect를 실행할 수 있게 하는 Hook이다.
useEffect(함수,[종속성1, 종속성2, ...])
두 번째 인자에 따라서 함수가 실행된다.