리액트에서는 불필요한 렌더링을 막기 위해 데이터 값의 변경들을 한 번에 모아 한 번에 업데이트하는 방식
Batching update 방식이 있다고 한다
여러번 불필요한 리 렌더링이 많이 일어나게 되면 애플리케이션의 성능에 영향을 미칠 수 있기 때문에
이를 해결하기위해서 등장했다고 한다. React batch updating
위 사진에서 코드는 버튼을 클릭했을 시에 setPlusNum(plusNum + 1)을 총 3번 실행하므로 한 번의 버튼 클릭 시
plusNum이 +3이 되도록 구현을 해보았다.
하지만!!
콘솔 창과 화면에 보이는 현재에 plusNum은 한 번만 실행된 것처럼 1값만 즉 +1 단 한번만 실행된 것 처럼 나왔다.
이 결과로 리액트는 Batching update방식으로 중복되는 처리들을 한 번으로 줄여서 렌더링 횟수를 최소화하여
불필요한 렌더링을 방지하고 더 빠른 속도로 동작하게 한다.
위 사진에서는 setPlusNum을 호출할 때 인자로 콜백 함수로 plusNum에 +1을 해주고 있다. 이렇게 해주면 3번의 명령을 한 번에 모아
순착적으로! 실행시켜준다.
이러한 방법을 함수형 업데이트 방식이라고 부르며 명령을 순차적으로 실행시킬 수 있다.
useState훅스
state 변경 함수 useState함수는 비동기 처리 방식이다!
setState라는 변경사항을 한 번에 모아서 한번에 일괄처리합니다.
이것을 Batching이라고 부르는 것이다!
'React' 카테고리의 다른 글
Component 의 Props 와 State (0) | 2023.03.02 |
---|---|
useRef (0) | 2023.02.28 |
SPA 와 MPA (0) | 2022.12.01 |
단방향 과 양방향 데이터 바인딩 (0) | 2022.12.01 |
브라우저의 렌더링 과정과 Virtual Dom (0) | 2022.12.01 |