- 렌더링 된 컴포넌트 안의 모든 함수들은 그 안의 state, props를 잡아 둔다.
- 렌더링 된 컴포넌트는 하나의 객체가 된 느낌.
- setState 호출하면, state가 바뀐 새로 렌더링 된 컴포넌트가 탄생함.
- 따라서 렌더링 된 컴포넌트의 useEffect 내부에서 사용하는 state는, 현재 렌더링된 놈에서만 쓰는 state고 변하는 값이 아님. 그냥 useEffect에서는 state, props를 읽기만 함(보기만 함).
- 방금 렌더링 된 컴포넌트 useEffect에서 state를 읽는데, 더 최신의 state를 읽고 싶다 하자. 하지만 이 컴포넌트의 state는 바뀌지 않음. 더 최신의 state를 가진 컴포넌트가 렌더링 될 뿐이다.
- 최신 변수가 필요하면 useRef로 만들면 전역 변수 사용하듯 만들 수 있음.
- 컴포넌트에 있는 모든 값들 중에서, useEffect에 사용될 값은 무조건 의존성 배열에 있어야 함.