- dispatch가 스토어의 상태 업데이트를 시킬 경우 모든 dispatch에 대해 모든 subscriber를 업데이트함
- dispatch가 여러번 실행될 경우 그 횟수만큼 가상 돔 렌더링도 실행됨
- 스토어를 구독하는 컴포넌트가 없다면 렌더링은 일어나지 않음
useSelector의 인자로 들어간 콜백함수는 항상 새로운 Object를 반환함
useSelector는 === 연산자를 통해 값을 비교하므로 false가 나오게되서 리렌더링을 발생시킴
최종적으로 여러번의 dispatch가 끝난 다음 batched_update를 통해 한꺼번에 fiber에 변화를 반영시켜 UI 렌더가 일어남
dispatch 최적화
한 dispatch에 여러 액션이 동시에 수행되도록 묶어버리기
참조
'프론트엔드 > React' 카테고리의 다른 글
리액트 useState란? (0) | 2022.11.01 |
---|---|
react lightweight chart 트레이딩뷰 마우스 이탈 이벤트 (0) | 2022.10.23 |
리액트 모달 외부 클릭시 창 닫기 (0) | 2022.09.27 |
React DatePicker click on close (1) | 2022.09.26 |
useEffect (0) | 2022.06.13 |