[React] 리덕스 세 가지 규칙

겨레·2024년 12월 16일

[React] 리액트 스터디

목록 보기
94/95

리덕스를 프로젝트에서 사용할 때 지켜야 하는 세 가지 규칙에 대해 알아보자!


① 단일 스토어

  • 하나의 애플리케이션 안에는 하나의 스토어
    • 여러 개의 스토어 사용이 완전히 불가능한 것은 아님.
      하지만, 상태 관리가 복잡해질 수 있어 권장되지 않음.

② 읽기 전용 상태

  • 리덕스 상태는 읽기 전용

    • 기존 리액트에서 setState로 state 업데이트 시, 불변성을 지키기 위해 spread 연산자 / immer와 같은 불변성 관리 라이브러리를 사용함.

      리덕스도 마찬가지!!!
      상태 업데이트 시, 기존 객체는 건드리지 않고 새로운 객체를 생성함.


(+) ❓🤔 리덕스에서 불변성을 유지해야 하는 이유는?
👉 내부적으로 데이터가 변경되는 것을 감지하기 위해 얕은 비교 검사를 하기 때문!

객체 변화를 감지할 때, 객체 깊은 안쪽까지 비교하는 게 아니라 겉핥기 식으로 비교해 좋은 성능을 유지할 수 있는 것!


③ 리듀서는 순수한 함수

  • 변화를 일으키는 리듀서 함수는 순수한 함수여야 함

    • 순수한 함수의 조건
      ✔ 리듀서 함수는 이전 상태와 액션 객체를 파라미터로 받는다.
      ✔ 파라미터 외 값에 의존하면 안 된다.
      ✔ 이전 상태는 절대 건드리지 않고, 변화를 준 새로운 상태 객체를 만들어 반환한다.
      ✔ 똑같은 파라미터로 호출된 리듀서 함수는 언제나 똑같은 결과 값을 반환한다.
profile
호떡 신문지에서 개발자로 환생

0개의 댓글