TIL 23.11.02

전민석·2023년 11월 2일
1

TIL

목록 보기
21/52

불변성

불변성이란?

한번 생성된 원본의 데이터를 변경시키지 않는것
데이터 변경이 필요한 경우 새로운 원본을 생성

리액트에서 불변성이 중요한 이유

불변성을 지키지 않으면

  • 리랜더링이 안될 수 있다.
    => 리액트는 state 변경 전 후를 얕은 비교하여 다른 경우에만 리랜더링
  • 예상치 못한 부작용이 발생 가능하다.
    => 컴포넌트의 state 원본 데이터를 직접 건드린 경우, state와 연결된 다른 컴포넌트도 영향을 미침

불변성을 지키는 방법

  • 얕은 복사 {...obj}
  • depth가 깊은 객체의 경우 => immer.js 라이브러리 활용

0개의 댓글