1. 스토어
- 리덕스를 적용하게 위해서 만듬
- 한 개의 프로젝트에는 한 개의 스토어만 가질 수 있음
2. 디스패치
3. 구독
- 스토어의 내장 함수
- subscribe 함수 안에 리스너 함수를 파라미터로 넣어서 호출하면 리스너 함수가 액션이 디스패치되어 상태가 업데이트될 때마다 호출됨
4. 리액트 없이 쓰는 리덕스
5. 리덕스의 규칙
- 단일 스토어
- 하나의 애플리케이션 안에는 하나의 스토어
- 읽기 전용 상태
- 상태를 업데이트할 때 기존의 객체는 건드리지 않고 새로운 객체를 생성해 주어야 함
- 내부적으로 데이터가 변경되는 것을 감지하기 이ㅜ해 얕은 비교검사를 하기 때문
- 리듀서는 순수한 함수
- 이전 상태와 액션 객체를 파라미터로 받음
- 파라미터 외의 값에 의존하면 안됨
- 이전 상태는 건드리면 안됨, 변화를 준 새로운 상태 객체를 만들어서 반환
- 똑같은 파라미터로 호출된 리듀서 함수는 언제나 똑같은 결과값을 반환