✍️ 리덕스
- 리덕스는 리액트 상태관리 라이브러리다.
- 이외에도 MobX, Recoil, Context API 등 상태관리를 위한 다양한 라이브러리, 리액트 자체 솔루션이 있다.
✅ 리덕스의 장점
- 상태를 체계적으로 관리할 수 있다.
유지 보수성
과 작업의 효율성
을 높여준다.
- 개발자 도구를 지원하고 미들웨어 기능을 통해 비동기 작업을 효율적으로 관리한다.
📌 키워드 개념 정리
1. 액션
- 액션은 상태에 어떤 변화가 필요할때 발생한다.
- 객체로 표현하며
type 필드
를 반드시 가지고 있어야 한다.
- 이 외의 값은 상태를 업데이트할 때 참고할 값을 의미한다.
2. 액션 생성 함수
- 액션 객체를 만드는 함수다.
- 액션 객체를 함수로 만들어 관리하는 이유
👉 어떤 변화가 발생할 때마다 액션 객체를 만들어야하는 번거로움
과 만드는 과정 속에서 실수
가 발생할 수 있기 때문에 이를 방지하기 위해 함수로 만들어 관리한다.
3. 리듀서
- 상태 변화를 일으키는 함수다.
- 현재 상태와 액션 객체를 받아 두 값을 참고하여 새로운 상태를 반환한다.
4. 스토어
- 스토어는 해당 프로젝트에 리덕스를 적용하기 위해 만든다.
- 한 프로젝트에는
하나의 스토어만
가질수 있다.
- 스토어 안에는 현재 애플리케이션의
상태
와 리듀서
가 들어있다.
5. 디스패치
- 스토어 내장함수 중 하나다.
- 액션객체를 받아 호출되면 스토어는 리듀서 함수를 실행시켜 새로운 상태를 만든다.
6. 구독
- 스토어의 내장함수 중 하나다.
subscribe
함수 안에 리스너 함수
를 넣어 호출하면 액션이 디스패치되어 상태가 변화될 때마다 리스너 함수가 호출된다.