본문 바로가기
JavaScript/React

React) 리덕스 라이브러리 이해하기 - 리덕스의 세 가지 규칙

by 박채니 2022. 11. 29.
안녕하세요, 코린이의 코딩 학습기 채니 입니다.
[리액트를 다루는 기술]의 책을 참고하여 포스팅한 개인 공부 내용입니다.

 

리덕스 라이브러리 이해하기

 

리덕스의 세 가지 규칙

 

단일 스토어

 

하나의 애플리케이션 안에는 하나의 스토어가 들어 있습니다.

특정 업데이트가 너무 빈번히 일어나거나 애플리케이션의 특정 부분을 완전히 분리시킬 때 여러 개의 스토어를 만들 순 있지만,

상태 관리가 복잡해질 수 있기 때문에 권장하지 않습니다.

 

읽기 전용 상태

 

상태를 업데이트할 때 기존의 객체는 건드리지 않고 새로운 객체를 생성해 줘야 합니다.

데이터가 변경되는 것을 감지하기 위해 얕은 비교 검사를 하기 때문!

 

리듀서는 순수한 함수

 

  • 리듀서 함수는 이전 상태와 액션 객체를 파라미터로 받음
  • 파라미터 외의 값에는 의존하면 안됨
  • 이전 상태는 건드리지 않고, 변화를 준 새로운 상태 객체를 만들어 반환
  • 똑같은 파라미터로 호출된 리듀서 함수는 언제나 똑같은 결과 값을 반환해야 함

 

예를 들어, 리듀서 함수 내부에서 랜덤 값을 만들거나 / Date 함수를 사용하여 현재 시간을 가져오거나 / 네트워크 요청을 한다면

파라미터가 같아도 다른 결과를 만들어 낼 수 있기 때문에 사용하면 안됩니다.

해당 작업들은 리듀서 함수 바깥에서 처리해줘야 합니다.