리덕스는 리액트에서 사용되는 상태 관리 라이브러리다.
리덕스를 사용하면 컴포넌트의 상태 업데이트 관련 로직을 다른 파일로 분리시켜 효율적으로 관리할 수 있다.
상태에 변화가 필요할 경우 액션을 사용한다.
액션은 객체로 표현되며 type 필드를 반드시 포함해야 한다.
액션 생성함수는 액션 객체를 만들어주는 함수이다.
리듀서는 현재 상태와 액션 객체를 전달받아 새로운 상태를 리턴하는 함수이다.
하나의 프로젝트는 하나의 스토어만 가질 수 있으며, 스토어는 상태를 보관한다.
디스패치는 스토어의 내장 함수 중 하나이며 액션 객체를 전달하여 상태를 업데이트하는 유일한 방법이다.
react-redux에서는 상태 값을 가져올 때 사용한다.
초기 상태
root reducer 함수를 사용하여 리덕스 스토어를 만든다.
스토어는 root reducer를 한번 호출하고 리턴 값을 초기 상태로 저장한다.
UI 처음 렌더링될 때, 리덕스 스토어의 상태에 접근하여 UI 컴포넌트를 렌더링