single source of truth
리덕스의 상태 관리는 store라는 단일 저장소에서만 이루어져야 한다.
state is readOnly
store에 존재하는 state 들은 모두 읽기 전용이고 state를 변경하기 위해선 새로운 state를 생성해야만 한다.
reducer is pure function
state를 변경시킬 수 있는 reducer는 사이드 이펙트가 존재하지 않는 순수함수로 작성되어야 한다.