setState의 기본적인 작동 방식은 Asynchronous
That means if you don’t need render, use React useRef()
여러 차례 setState가 있을 경우 다른 state의 변경까지 한꺼번에 통합해서 리액트 자신이 판단하기에 가장 적절한 시기에 DOM을 re-rendering
batching
동기적으로 re-rendering 하는 것이 비효율적
개념적으로, React 는 각 컴포넌트가 단일 업데이트 큐를 가지고 있다고 간주
내부적으로 클래스가 아니면서 상태관리를 하기 위해서 이전 함수 JS Lexical Environment 를 기억하고 있어야 하는데, 리액트 훅의 useState는 JS Closure 특성으로 구현