앱에서 공유할 상태를 한곳에 모으고 subscribe를 통해 변경을 전파합니다.
redux mental model
Redux 단방향 상태 흐름
단방향 데이터 흐름을 지키면 UI 이벤트가 action이 되고 reducer가 다음 state를 만들며 store가 구독자에게 변경을 알립니다.
무슨 일이 일어났는지 type과 payload로 기록하는 평범한 객체입니다.
이전 state와 action을 받아 불변성을 지키며 다음 state를 계산합니다.
같은 데이터가 여러 store나 local state에 중복되지 않습니다.
state 직접 수정 대신 action을 dispatch합니다.
reducer 안에서 API 요청이나 랜덤 값을 만들지 않습니다.
실무에서는 Redux Toolkit으로 반복 코드를 줄입니다.