TIL. Redux
REDUX?
Redux
란? 기본적으로 Javascipt 어플리케이션들의 state를 관리하는 방법이다.
React와 많이 사용하면서 유명해졌으나 React와는 별개의 라이브러리.
JS를 사용하는 여러 곳에서 사용이 가능하다.
How to use?
-
npm i redux
oryarn add redux
-
import {createStore} from "redux";
-
store 생성
ex)const store = createStore();
Store?
store는 data를 저장하는 공간을 생산. state는 application에서 변하는 data를 뜻함. -
createStore는
reducer
를 요구함.
ex)const store = createStore(reducer);
Reducer는
data
를modify
해주는함수
로 reducer가 return하는 것은 application에 있는 data가 됨. -
reducer의
parameter
로 첫번째 인자에state
, 두번째 인자에action
을 줌.✅ Action : reducer와 소통하기 위한 방법
✅ Reducer에게 Action을 보내는 방법 :store.dispatch({key: value});
✅ 현재 state값을 가저오는 방법 :store.getState();
-
변화된 값을 출력 :
store.subscribe(function);
Subscribe : store 안에 있는 변화 감지, store안의 변화를 감지하면 func 실행
React-Redux
mapStateToProps
✅ store와 component를 연결한다.
mapStateToProps
함수를 생성, 첫번째인자 = state, 두번째 인자로 ownProps를 줄 수 있다.
ownProps
= connect한 컴포넌트의 props를 가져옴.
mapDispatchProps
store.dispatch()
의 기능을 함. 인자로 dispatch, 두번째 인자로 ownProps를 줄 수 있다.
dispatch()
을 호출하는 함수를 array형태로 생성, 생성된 function을 props로 전달한다.
const mapDispatchProps = (dispatch) => {
return {
addToDo: (text) => dispatch(actionCreators.addToDo(text))
};
};
export default connect(mapStateToProps,mapDispatchProps)(컴포넌트);
로 해당 컴포넌트에 전달 및 dispatch함.
만약 mapState만 필요하지 않다면?
export default connect(null,mapDispatchProps)(컴포넌트);
Author And Source
이 문제에 관하여(TIL. Redux), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@313yang/TIL.-Redux저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)