1차 공부/React공부

왜 useState가 불변성을 지켜야하고, 방식이 두가지가 있을까?

공대탈출 2022. 12. 2. 14:17

불변성을 지켜야하도록 만들어진 이유

1. 불변성을 지켜주면 이전 할당되었던 메모리 값이 그대로 있기 때문에 특정 행동을 취소하고 재실행하는걸 단순하게 구현할 수 있기 때문에

2. 참조하고 있는 객체의 주소가 변경된 것을 감지하는 것이 변화를 감지하는데 가장 확실한 방법이기 때문에

3. 순수 컴포넌트는 입력된 값을 받아 그대로 출력한다. 이경우 데이터값은 변경되지 않았지만 새로운 객체가 생성되기 때문에 리렌더링을 하는 시기를 결정할 수 있다.

4. 원본데이터가 변경될 경우 이 원본을 참조하는 다른 객체에서 오류가 발생할 수 있기 때문에

5. 객체의 참조 주소값의 변경유무만 확인하여 계산 리소스를 줄여 효율적으로 상태를 업데이트 할 수 있기 때문에

 

useState의 방식이 두가지인 이유

즉 batching이 존재하는 이유를 말한다.

batching은 불필요한 리렌더링, 즉 반만완료된 state를 렌더링하는 것을 방지하기 때문에 성능에 굉장히 좋다.

레스토랑 웨이터에 빗대보자면 주문을 할 때 하나고를때마다 주방에 가지않고, 오더를 완성시킬 때까지 대기하는 것이다.

 

 

'1차 공부 > React공부' 카테고리의 다른 글

React.StrictMode  (0) 2022.12.02
useEffect, clean up  (0) 2022.12.02
useState 복습  (0) 2022.12.02
Styled-components의 GlobalStyles, css nesting, css reset  (0) 2022.12.02
컴포넌트 꾸미기 (Styled Component)  (0) 2022.12.02