Redux is a predictable state container for JavaScript apps.
리덕스는 자바스크립트 애플리케이션을 위한 상태 관리 라이브러리이다.
Redux는 State를 관리한다
Redux 데이터 Flow(strict unidirectional data flow)
이전 State과 action object를 받은 후에 next state을 return한다.
Reducer는 pure function이므로 reducer 내부에서 하지 말아야 할 것들
- 인수를 변형한다.
- API 호출 및 라우팅 전환과 같은 부작용을 발생시킨다.
- Date.now()나 Math.random()과 같은 순수하지 않은 함수를 호출한다.
<Provider />는 React Redux에서 제공하는 고차 컴포넌트로, Redux를 React에 바인딩할 수 있게 해준다.