상태 관리 라이브러리이다
📝 예를들어 to-do List 앱을 만든다고 가정하고 App.js에서 할일목록.js, 완료한 목록.js, 삭제 목록.js을 import하게 되면 글로벌로 상태를 관리해줘야한다
❗ 왜냐하면 ❗ 할일목록에서 useState를 사용하면 완료한 목록으로 데이터를 보내고 추적하기가 어려워지기 때문이다
- 디스패치(dispatch) 함수를 실행하면
- 액션(action)이 발생한다
- 이를 리듀서(reducer)가 전달하면
- 최종적으로 상태(state)를 바꾼다
Action
Reducer
Store
Dispatch
Provider의 역할은 우리의 App이 Redux.store에 접근할 수 있도록 해준다
store 디렉토리 패턴을 알아야하는데 modules를 통해서 데이터를 여러개 나누어 분리하고 index.js를 통해서 합쳐주면 된다
redux를 알아보기 쉽게 크롬 확장 프로그램을 설치한다
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()