티스토리 뷰
NEXTJS 환경 REDUX 초기셋팅 코드예시
Redux 관련 라이브러리 설치.
npm i next-redux-wrapper redux react-redux redux-devtools-extension
초기상태 및 리듀서 설정
// reducers/index.js
import { HYDRATE } from "next-redux-wrapper";
const initialState = {
user: {},
post: {},
};
const rootReducer = (state = initialState, action) => {
switch (action.type) {
case HYDRATE:
console.log("HYDRATE", action);
return { ...state, ...action.payload };
default:
return state;
}
};
export default rootReducer;
HYDRATE는 SSR을 위한 설정으로 getInitialProps와 getServerSideProps에서도 Redux store에 접근이 가능하도록 하기 위한 처리이다.
configureStore 설정
// store/configureStore.js
import { createWrapper } from "next-redux-wrapper";
import { applyMiddleware, compose, createStore } from "redux";
import { composeWithDevTools } from "redux-devtools-extension";
import reducer from "../reducers";
const configureStore = () => {
// middlewares에 redux-thunk, redux-sage 등의 middleware를 넣어주면 된다.
const middlewares = [];
// 배포용일때는 DevTools 연결 x
// 개발용일때는 DevTools 연결 o
const enhancer =
process.env.NODE_ENV === "production"
? compose(applyMiddleware(...middlewares))
: composeWithDevTools(applyMiddleware(...middlewares));
const store = createStore(reducer, enhancer);
};
const wrapper = createWrapper(configureStore, {
debug: process.env.NODE_ENV === "development",
});
export default wrapper;
'개발일기 > REACT' 카테고리의 다른 글
[React] createGlobalStyle 사용해서 기존CSS 덮어쓰기. (0) | 2022.03.01 |
---|---|
[REACT] input[type="file"] 디자인 변경 하는 방법 (0) | 2022.02.27 |
[React] React 커스텀 hooks 만들어서 반복되는 코드 줄이기. (0) | 2022.02.24 |
[React] useCallback 사용이유와 코드예시 (0) | 2022.02.23 |
[React] useMemo 사용이유와 코드예시 (0) | 2022.02.23 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- TypeScript
- zep
- 전기기사 필기
- 모두CBT
- shortid
- 전기기사
- 개더타운
- 전기산업기사
- 게더타운맵
- 전기공사기사
- dummydata
- 산업안전기사
- 실기CBT
- 전력공학
- gathertown
- 전기기기
- JavaScript
- 게더타운
- cbt
- 전기기사실기단답
- 전기기사실기CBT
- 전기기사필기
- KEC반영
- nextjs
- React
- 산업안전기사 실기
- 산안기 합격률
- fakerjs
- 전자기학
- TS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함