[패스트캠퍼스] React 강의 8주차 마지막 학습후기
React& Redux로 시작하는 웹 프로그래밍 : [패스트캠퍼스] 프론트엔드 강의
[국비지원교육] 8주차는Redux 만들기 방법을 학습하였다. Redux는 대표적인 상태관리 JavaScript 라이브러리 이다. 상태란 (state) 컴포넌트 내부에서 사용하는 데이터를 말한다. 리액트(React)에서는 자식 컴포넌트 와의 직접적인 데이터 전달이 불가능하다. 컴포넌트가 많아지면 상위에서 하위로 데이터를 보낼때 많은 props를 거처야 하는데 이러면 상태관리가 굉장히 복잡하고 힘들어지게 된다.
이럴때 리덕스(Redux)를 사용한다면 전역으로 상태관리가 가능한 저장소를 제공받을 수 있다.
- 어디서든 저장소에 접근할 수 있고 상태관리가 가능하다.
Redux 기본 개념에 대해 알아보자.
-참고 사이트 https://nychicken.tistory.com/15
[Redux] Redux 란?
redux 는 간단하게 상태관리를 도와주는 라이브러리다. 기본적으로 React 에서는 자식컴포넌트 간의 직접적인 데이터 전달은 불가능하다. 컴포넌트가 많아지면 상위에서 하위로 데이터를 보내줄
nychicken.tistory.com
🧬 액션 (Action)
상태를 업데이트하는데 필요한 정보를 담은 객체다.
action 객체는 반드시 고유한 type 프로퍼티를 가져야하며, 이 값은 action 의 이름이다.
🧬 액션 생성 함수 (Action Creator)
액션 객체를 반환하는 함수다. 액션 객체는 함수로 관리하며, 화살표 함수로도 표현 가능하다!
🧬 리듀서 (Reducer)
현재 상태와 액션 객체를 인자로 받아 새로운 상태를 반환 (state 업데이트)하는 함수이다.
현재 상태를 받는 첫번째 인자에 초기 상태를 기본 인자로 설정한다.
🧬 스토어 (Store)
상태가 들어있으며, 하나의 프로젝트는 하나의 스토어만 가질수 있다.
컴포넌트에서 상태 정보가 필요할 때 접근한다.
🧬 디스패치 (Dispatch)
스토어의 내장함수이다. 상태를 업데이트하기 위해서는 꼭 디스패치 함수를 사용해야 한다.
액션 객체를 인자로 받아 리듀서 함수로 전달한다.
🧬 구독 (Subscribe)
스토어의 내장함수이다. 리스너 함수를 파라미터로 넣어 호출하면 액션이 디스패치 되어 상태가 업데이트 될 때 마다 리스너 함수가 호출된다. 이벤트 리스너의 일종이다.
Redux 는 단일 스토어이며 읽기전용이다.
Redux 를 사용해야하는 때는 앱의 여러위치에서 필요한 많은양의 상태들이 존재하고 자주 업데이트가 되며 업데이트 로직이 복잡할때 와 많은 사람들에 의해 코드가 관리되고 상태가 업데이트 되는 시점을 관찰할 필요가 있을때 사용한다.