티스토리 뷰
react에서 redux를 사용하려면 우선 터미널에 npm install react-redux를 설치해주자
우선 폴더 구조는 아래와 같다.
store 를 다른 컴포넌트에서 사용하려면 약간의 설정이 필요하다 (어렵지 않음)
1) react-redux에서 { Provider }를 import 해온다
2) index.js 에 Provider로 App을 감싸준다
<Provider store={ store } >
<App/>
<Provider />,
store에서는 js와 redux를 사용했듯이 작성하면 되며 차이가 있다면 , export를 해주어야 한다.
3) store를 외부에서 사용 가능하게 export default store; 해준다.
그리고 (사용할 컴포넌트) Home.js 에서는 store에 있는 데이터를 사용하기 위해서
4) react-redux에 connect() 함수를 import 하여야 한다 import { connect } from "react-redux";
connect () 함수는 store를 다른 컴포넌트에서 사용할 수 있게 연결해주는데 ,
connect() 함수는 2개의 argumnet를 갖는데
첫 번째는 state이고
두 번째는 dispatch이다
아래 공식문서를 참고!
https://react-redux.js.org/using-react-redux/connect-mapstate
Connect: Extracting Data with mapStateToProps | React Redux
Usage > mapState: options for reading state with connect
react-redux.js.org
https://react-redux.js.org/using-react-redux/connect-mapdispatch
Connect: Dispatching Actions with mapDispatchToProps | React Redux
Usage > mapDispatch: options for dispatching actions with connect
react-redux.js.org
Home컴포넌트 가 끝나는 지점은
mapStateToProps와 mapDispatchToProps를 만들어주고 각각 return을 꼭 해준다
//return 없으면 에러 나경고 발생.
export default connect(mapStateToProps, mapDispatchToprops) (Home);
마지막으로 Home에 prop을 받아주면
store에 데이터를 사용할 수 있고 dispatch 하여 요청할 수도 있다.
( 정리해보면 )
store에 데이터를 만든다.
store를 사용할 컴포넌트에서 함수를 만들고 만든 함수는
connect 함수에 argument에 넣어주면 연결이 된다.
공식문서처럼 mapStateToProps와 mapDispatchProps 함수 이름을 같게 했지만
꼭 그럴 필요는 없다 작명한 함수를 connect에 연결만 해주면 된다.
기억해야 할 건 connect 함수에 첫 번째 인자로 들어가는 함수와 두 번째 인자로 들어가는 함수에
각각 state와 dispatch를 꼭 return 해주고 home에서 받아쓴다고 기억하자.
*잘못된 부분이 있으면 댓글 부탁드립니다 *

'Redux' 카테고리의 다른 글
React-Redux (mapStateToProps(ownProps) vs useParams( ) ) (0) | 2022.02.28 |
---|---|
React-Redux 삭제 방법 2 (추가글) (0) | 2022.02.28 |
React-Redux 삭제 방법 1 (0) | 2022.02.26 |
Redux state 에 올바른 데이터 추가방법! (0) | 2022.02.26 |
Redux (state 변화를 감지하는 subscribe 함수 ) (0) | 2022.02.25 |
- Total
- Today
- Yesterday
- java 예외
- java전역변수
- Heap Area
- List Set 변환
- java숫자형배열
- Stack Area
- mapDispatchToProps
- e.getMessage()
- redux
- map set 변환
- set
- java 배열 출력
- 자바
- e.toString()
- 오버로딩
- final 변수 초기화
- Scanner 와 BufferedReader 차이
- publi
- java멤버변수
- nexLine
- Dispatch
- react-redux
- Method 영역
- e.printStackTrace()
- java문자열배열
- 클래스변수 인스턴스변수 차이
- 클래스영역
- 기본형타입
- Java
- java최대값최소값
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |