React Immutability(리액트의 불변성)

  • 리액트에서는 컴포넌트의 state 값을 직접 변경할 수는 없고, setState를 통해서 값을 업데이트 해줘야 합니다.

    • why?

      state 값을 직접 변경하면 리액트가 변화를 감지하지 못해서 render 함수를 새로 호출하지 못합니다.

      하지만 setState함수를 호출하여 state 값을 변경하면 리액트 엔진이 자동으로 render 함수를 호출하므로 화면에 변경된 state 값을 새롭게 출력할 수 있습니다.

  • state 값을 직접 변경할 수 없는 리액트의 특성을 불변성(Immutability)라고 합니다. 리액트에서 불변성 유지가 중요한 이유는 그래야 필요한 상황에서 rendering이 일어나도록 설계할 수 있고, 컴포넌트 최적화도 할 수 있기 때문입니다.

Last updated