#26,27 Redux 기본 설정
2022. 8. 4. 21:38ㆍTIL/따라하며 배우는 노드 리액트
728x90
[인프런] 따라하며 배우는 노드, 리액트 시리즈 - 기본강의를 들으며 정리한 내용입니다.
Redux란?
predictable state container for JavaScript apps. 상태관리 라이브러리
Props VS State
Props | State |
부모→자식으로 전달만 가능하다. | 각 컴포넌트 안에서 state를 통해 데이터를 전달받아 사용가능하다. |
전달받은 데이터는 수정불가능 | 데이터 수정 가능, 데이터 수정시 리렌더링됨 |
1. react-redux, redux-promise, redux-thunk 설치하기
cd client
npm install react-redux redux-promise redux-thunk --save
*redux-promise, redux-thunk (redux middleware)가 필요한 이유?
- redux는 action을 통해 store 내부의 데이터를 변경한다.
- action이 객체형태일때만 store가 받을 수 있지만 action이 promise나 function 형태로 받아지는 경우도 있다.
- 이런경우를 대비하기위해 redux-promise와 redux-thunk를 사용한다.
redux-promise: promise가 왔을 때 어떻게 받아야하는지 알려줌
redux-thunk: function이 왔을 때 어떻게 받아야 하는지 알려줌
2. src/index.js 파일에 redux 구문 추가하기
import { Provider } from 'react-redux';
import { applyMiddleware, createStore } from 'redux';
import promiseMiddleware from 'redux-promise';
import ReduxThunk from 'redux-thunk';
import Reducer from './_reducers';
const createStoreWithMiddleware = applyMiddleware(promiseMiddleware, ReduxThunk)(createStore)
ReactDOM.render(
<Provider store={createStoreWithMiddleware(Reducer,
window.__REDUX_DEVTOOLS_EXTENSION__&&
window.__REDUX_DEVTOOLS_EXTENSION__()
)}
>
<App />
</Provider>
, document.getElementById('root'));
3. _reducers/index.js 파일 생성하기 (여러 Reducer를 모아주는 역할)
import { combineReducers } from 'redux';
const rootReducer = combineReducers({
})
4. 크롬에 Redux Devtools 다운받기 (사이트)
'TIL > 따라하며 배우는 노드 리액트' 카테고리의 다른 글
#31 회원 가입 페이지 (0) | 2022.08.04 |
---|---|
#29,30 로그인 페이지 (0) | 2022.08.04 |
#24 Concurrently (0) | 2022.08.04 |
#23 Proxy Server란? (0) | 2022.08.04 |
#22 CORS 이슈, Proxy 설정 (0) | 2022.08.04 |