1️⃣하나의 앱에는 하나의 store만 사용
- 여러 store를 만들 수도 있지만, redux dev tools를 사용할 수 없다
2️⃣상태는 읽기 전용
- React의 setState처럼, 상태를 직접 변경하지 않는다
즉, 새로운 상태를 만들고 업데이트 한다
⭐이를 불변성을 유지한다고 한다
3️⃣reducer 함수는 순수 함수이어야 한다
- 동일한 인풋에 대해 언제나 동일한 아웃풋을 반환해야 한다
- 따라서 new Date() 나 Math.random() 같은 값을 반환해야 하는 경우에는 미들웨어로 처리하거나 reducer 밖에서 처리한다