React에서는 상태의 속성(props)을 이용한 컴포넌트 단위 개발 아키텍처를 배웠다. 리덕스에서는 컴포넌트와 상태를 분리하는 패턴에 대해서 익숙해져야 한다. 리덕스의 가장 눈에 띄는 특징은 '단일 스토어, 다수의 리듀서'정책이다.
리덕스는 리듀서를 트리 구조로 분리함으로써 상태 관리에 대한 책임을 분산시킨다.
컨테이너 컴포넌트는 리액트 컴포넌트에서 발생한 이벤트를 해석해 리듀서로 전달하고, 스토어가 전파하는 상태 변경 이벤트를 받아서 변경한 상태 값을 컴포넌트에 전달하는 역할을 수행한다. 한 마디로, 리덕스 시스템과 리액트 컴포넌트를 결합하는 얇은 레이어다.
본 포스트는 벨로퍼트님의 모던 리엑트를 참고해서 작성되었습니다.
1. 하나의 어플리캐이션 안에는 하나의 스토어 2. 상태는 읽기 전용 3. 변화를 일으키는 함수, 리듀서는 순수한 함수여야 한다.
서로 다른 테이블의 아이템을 가지고 싶다면, 그 아이템의 고유 id를 가지면서 이를 주소값을 참조하는 것처럼 활용한다.