redux-logger 를 설치해서 적용을 해보고 또 Redux DevTools 와 리덕스 미들웨어를 함께 사용해야 할 때에는 어떻게 해야하는지 알아보겠다.
1. redux-logger 사용하기
우선 redux-logger 를 설치한다.
npm add redux-logger
그 다음에 index.js 에서 불러와서 적용을 해보겠다. 리덕스에 미들웨어를 적용 할 때에는 다음과 같이 여러개의 미들웨어를 등록 할 수 있다.
index.js
import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; import { createStore, applyMiddleware } from 'redux'; import { Provider } from 'react-redux'; import rootReducer from './modules'; import myLogger from './middlewares/myLogger'; import logger from 'redux-logger'; const store = createStore(rootReducer, applyMiddleware(myLogger, logger)); // 여러개의 미들웨어를 적용 할 수 있다. ReactDOM.render( <React.StrictMode> <Provider store={store}> <App /> </Provider> </React.StrictMode>, document.getElementById('root') ); reportWebVitals();
실행 결과

이제 리덕스 관련 정보들이 출력 되는 것을 볼 수 있다.
그럼 이제 직접 만든 myLogger는 불필요하기 때문에 비활성화 해준다.
index.js
import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; import { createStore, applyMiddleware } from 'redux'; import { Provider } from 'react-redux'; import rootReducer from './modules'; import logger from 'redux-logger'; const store = createStore(rootReducer, applyMiddleware(logger)); // 여러개의 미들웨어를 적용 할 수 있다. ReactDOM.render( <React.StrictMode> <Provider store={store}> <App /> </Provider> </React.StrictMode>, document.getElementById('root') ); reportWebVitals();

비활성화 하고 나면 위와 같이 redux-logger 쪽에서만 출력되는 것을 볼 수 있다.
2. Redux DevTools 사용하기
만약 Redux DevTools 를 미들웨어와 함께 사용해야 한다면 어떻게 코드를 작성해야하는지 알아보자.
매뉴얼 상의 사용법은 다음과 같다.
import { createStore, applyMiddleware } from 'redux'; import { composeWithDevTools } from 'redux-devtools-extension'; const store = createStore(reducer, composeWithDevTools( applyMiddleware(...middleware), // other store enhancers if any ));
그럼 이에 맞춰 index.js 를 수정한다.
그 전에 우선 redux-devtools-extension 을 설치를 해야한다.
npm add redux-devtools-extension
그 다음 index.js 를 수정한다.
index.js
import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; import { createStore, applyMiddleware } from 'redux'; import { Provider } from 'react-redux'; import rootReducer from './modules'; import logger from 'redux-logger'; import { composeWithDevTools } from 'redux-devtools-extension'; const store = createStore( rootReducer, composeWithDevTools(applyMiddleware(logger)) ); // 여러개의 미들웨어를 적용 할 수 있습니다. ReactDOM.render( <React.StrictMode> <Provider store={store}> <App /> </Provider> </React.StrictMode>, document.getElementById('root') ); reportWebVitals();
실행 결과

'개발 공부한 내용 정리 > React' 카테고리의 다른 글
react- redux-thunk로 프로미스 다루기 (0) | 2020.11.12 |
---|---|
React- redux-thunk (0) | 2020.11.12 |
React- 미들웨어 만들어보고 이해하기 (0) | 2020.11.06 |
React- 리덕스 미들웨어 실습을 위한 리덕스 프로젝트 준비 하기 (0) | 2020.11.05 |
React- 리덕스 미들웨어 (0) | 2020.11.04 |