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 |