useState의 초기값에 일반 원시 값이 아닌 함수를 넣어준다.
언제 사용하는데?
<aside> 👶🏼 localStorage, sessionStorage에 대한 접근, map, filter, find와 같은 배열에 대한 접근, 초기값계산을 위해 함수 호출이 필요할때와 같이 무서운 연산을 포함해 실행 비용이 많이 드는 경우.
</aside>
class 컴포넌트의 생명주기 메서드(componentDidMount)를 대체하기 위해 만들어진 훅도 아니다.
useEffect의 정의를 정확하게 내린다면
<aside>
👶🏼 애플리케이션 내 컴포넌트의 여러 값들을 활용해 동기적
으로 부수 효과를 만드는 매커니즘
</aside>
<aside> 👶🏼 이 부수효과가 “언제”일어나는지보다 어떤 상태값에 의해 함께 실행되는지 살펴보는게 중요!
</aside>
전제 조건 : 함수형 컴포넌트는 렌더링 시마다 고유의 state와 props를 가지고 있다.
state
나, props
의 변화 속에 일어나는 렌더링 과정에서 실행되는 부수 효과 함수라고 볼 수 있다.특정 props와 state에 기반한 부수효과를 실행시키기 위해 존재하는 훅
이전 state
를 참조해서 실행된다!