Redux
리덕스(Redux)
리액트 상태 관리 라이브러리, 상태 업데이트 관련 로직을 다른 파일로 분리 가능.
액션(Action)
상태에 어떠한 변화가 필요하면 액션이 발생, 객체로 표현
액션 생성 함수
액션 객체를 만들어 주는 함수
리듀서(Reducer)
데이터의 변화를 일으키는 함수, 현재 상태와 액션값 전달 받아 새로운 상태 반환
스토어(Store)
내 데이터를 저장해 놓는 곳, 한 프로젝트에 단 한개 스토어만.
디스패치(dispatch)
스토어의 내장 함수 중 하나로 액션을 발생시키는 것
구독(subscribe)
store내의 변화를 listen하게 해준다. 구독 함수 안에 리스너 함수를 파라미터로 넣어 호출하면 이 리스너 함수가 액션이 디스패치되어 상태가 업데이트 될 때마다 호출
보통 프레젠테이셔널 컴포넌트(src/components)
컨테이너 컴포넌트(리덕스와 연동)로(src/containers)
- 프레젠테이셔널 컴포넌트 작성
- 리덕스 관련 코드작성
- 모듈 작성(액션타입, 액션 생성함수, 초기상태 및 리듀서)
- 리듀서 하나만 써야되기 때문에 루트 리듀서 생성
- 스토어 만들기
- Provider로 프로젝트에 리덕스 적용
- 컨테이너 컴포넌트 만들기(스토어에 접근하여 상태 받아오고 액션 디스패치 해주기)
connect: 컴포넌트를 스토어에 연결(두개의 파라미터)
- mapStateToProps: 리덕스 스토어에서 state가져오기
- mapDispatchToProps
댓글남기기