티스토리 뷰
728x90
반응형
오늘은 리액트의 핵심이라고 할 수도 있는 리덕스를 정리해보았다.
1. 라이브러리 설치
yarn add redux react-redux redux-promise redux-thunk
여러 개를 한 번에 설치하고 싶을 때는 스페이스로 구분을 하여 명령어를 한 번에 할 수 있다. 여기서 redux-promise, redux-thunk는 redux를 오류를 최소화하기 위해 추가적으로 설치하는 middleware다.
2. 리덕스와 어플리케이션을 감싸줄 provider 개선하기
// client > src > index.js
// 생략
import {Provider} from 'react-redux';
import 'antd/dist/antd.css';
import { applyMiddleware, createStore } from 'redux';
import promiseMiddleware from 'redux-promise';
import ReduxThunk from 'redux-thunk';
const createStoreWithMiddleware = applyMiddleware(promiseMiddleware, ReduxThunk)(createStore);
ReactDOM.render(
<Provider store={createStoreWithMiddleware}>
<App />
</Provider>,
document.getElementById('root')
);
reportWebVitals();
먼저 어플리케이션 전체에 Provider로 감싸줌으로써 react-redux를 좀 더 원활하게 사용할 수 있게 설정한다. 다음에는 store을 만들어준다.
3. reducer 만들기
// client > src > _reducers > index.js
import { combineReducers } from 'redux';
const rootReducer = combineReducers({
})
export default rootReducer;
인증에 대한 리듀서 기능을 여기다가 앞으로 추가할 예정이다. combineReducers를 이용하여 합쳐서 rootReducer로 보내주는 역할을 한다.
4. reducer 적용하기
// client > src > index.js
// 생략
import Reducer from './_reducers';
const createStoreWithMiddleware = applyMiddleware(promiseMiddleware, ReduxThunk)(createStore);
ReactDOM.render(
<Provider store={createStoreWithMiddleware(Reducer)}>
<App />
</Provider>,
// 생략
5. Redux Extension을 설치 및 적용하기
먼저 chrome에서 다음 확장자를 추가를 한다.
그리고 다음과 같은 문구를 추가한다.
// client > src > index.js
// 생략
ReactDOM.render(
<Provider store={createStoreWithMiddleware(Reducer,
window.__REDUX_DEVTOOLS_EXTENSION__ &&
window.__REDUX_DEVTOOLS_EXTENSION__()
)}>
<App />
</Provider>,
// 생략
이렇게 하면 리덕스를 연결이 완료가 된 것이다.
리덕스는 매번 해도 매번 어렵네 그래도 어느 정도 익숙함과 머릿속에 조금 들어오는 게 달라졌다.
다음에는 더 정교한 이해도를 습득을 위해 오늘도 달리자!
728x90
반응형
'Front-End > React' 카테고리의 다른 글
boiler-plate : redux로 로그인 화면 구현하기 (0) | 2021.04.03 |
---|---|
boiler-plate : React hook (0) | 2021.04.02 |
boiler-plate : axios와 proxy... 그리고 ShareArrayBuffer 공부하기 (0) | 2021.03.30 |
boiler-plate : react-router-dom에 대한 정리 (0) | 2021.03.29 |
리액트에서 절대 경로를 설정하는 방법 (0) | 2021.03.13 |
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자바
- 코딩테스트
- 리액트 유튜브
- 뷰
- 배열
- 리액트 썸네일
- javascript
- Git
- 재공부
- array
- 파이썬
- 프로그래머스
- CSS
- redux
- 노드
- Switch
- node.js
- programmers
- java
- github
- node
- 함수
- 리덕스
- mongodb
- node-sass
- react
- Visual Studio Code
- Coding Test
- 자바스크립트
- 리액트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함