리덕스 라이브러리는 상태관리를 위한 라이브러리.
리액트에 종속된 라이브러리는 아님. 따라서 리액트 외에 바닐라JS 또는 다른 UI 라이브러리/프레임워크와 함께 사용 가능.
핵심 개념
- 액션: 어떠한 상태 변화에 대한 서술
- 리듀서: 변경을 일으키는 함수
- 스토어: 현재 어플리케이션의 상태와 리듀서가 담겨있음
- 디스패치: 스토어의 내장함수로 변경을 발행함
- 액션을 이 함수에 넘겨 호출하면 스토어는 리듀서 함수를 실행시켜서 새로운 상태를 만들어줌
- 구독: 스토어의 내장함수로 액션이 디스패치되어 상태가 업데이트될때마다 호출됨
위 개념말고도 미들웨어 등과 같은 다양한 기능 제공
리덕스 특징
- 단일 스토어
- 읽기 전용 상태
- 리듀서는 순수함수