- 값을 저장 할 때 사용, 값이 변경되면 리 렌더링이 일어남.
- reducer pattern을 사용하는 useState.
- 값을 저장 할 때 사용, 값이 변경되면 리 렌더링이 일어나지않음.
- 사이드이펙트들을 핸들링 할 때 사용(class components에서 componentDidMount나 componentDidUpdate에 들어갔던 로직들)
- 브라우저에 React DOM이 페인팅 된 뒤 비동기적으로 useEffect의 콜백함수가 실행됨
- useEffect와 거의 동일하지만 React DOM이 변경 된 뒤 동기적으로 실행됨(실제 브라우저에 페인팅 하기 전 동기적으로 호출되기 때문에 헤비한 작업을 할 경우 일정 시간 렌더 블로킹이 발생함)
- DOM을 측정하거나 수정해야 할 때 useEffect 대신 사용
- 의존성 배열 안 요소들의 값이 바뀌기 전까진 동일한 reference의 return value를 반환함.
- 의존성 배열 안 요소들의 값이 바뀌기 전까진 동일한 reference의 함수를 반환함
- 인자로 받은 context객체의 현재 값을 반환함.