Store: 상태가 관리되는 오직 하나뿐인 저장소의 역할을 합니다.
Reducer: 새로운 state를 만드는 순수 함수입니다.
Action: state를 어떻게 변경할지 정의 해놓은 객체입니다.
useDispatch: Action 객체를 Reducer로 전달해 주는 메서드입니다.
useSelector: 컴포넌트와 state를 연결하여 Store에 저장된 state에 접근할 수 있게 해주는 메서드입니다.
리덕스 상태 관리 순서
- 상태가 변경되어야 하는 이벤트가 발생하면, 변경될 상태에 대한 정보가 담긴 Action 객체가 생성됩니다.
- 이 Action 객체는 Dispatch 함수의 인자로 전달됩니다.
- Dispatch 함수는 Action 객체를 Reducer 함수로 전달해줍니다.
- Reducer 함수는 Action 객체의 값을 확인하고, 그 값에 따라 전역 상태 저장소 Store의 상태를 변경합니다.
- 상태가 변경되면, React는 화면을 다시 렌더링 합니다.
=> Redux에서는 Action → Dispatch → Reducer → Store 순서로 데이터가 단방향으로 흐르게 됩니다.