본문 바로가기

FrontEnd/React

[FrontEnd]미들웨어 Redux logger


import { createStore , combineReducers, applyMiddleware } from "redux"
import thunk from "redux-thunk"
import users from './modules/users'

const env = process.env.NODE_ENV;

const middlewares = [thunk];

if(env === "development"){
const { logger } = require("redux-logger");
middlewares.push(logger);
}

const reducer = combineReducers({
users
});

let store = initialState =>
createStore(reducer, applyMiddleware(...middlewares));

export default store();


Process

The process object is a global that provides information about, and control over, the current Node.js process. As a global, it is always available to Node.js applications without using require().


프로세스 객체는 현재 Node.js 프로세스에 대한 정보를 제공하고 제어합니다. 전역 적으로 require ()를 사용하지 않고 Node.js 응용 프로그램에서 항상 사용할 수 있습니다.



뭐, Node.js에서 프로그램에 정보를 제공해주는 객체인거 같다.

그리고 그중 env.NODE_ENV는

Production단계인지 Development단계인지 알려주는데,


redux-logger는 로그 창에 액션의 상태를 로그에 찍혀 나오는 것이기 때문에


유저들에게 이 정보를 제공할 필요가 없음


그래서 

env가 development일때만


redux-logger를 가져와서

미들웨어에 추가시킴


이후에


index.js에서



store.dispatch({ type : "BULLSHIT"})


와 같이 스토어에 dispatch하게 되면




다음과 같이 콘솔에


로그가 찍히게 됨!

'FrontEnd > React' 카테고리의 다른 글

[FrontEnd]React Router And History  (0) 2018.11.14
[FrontEnd]React-Router  (0) 2018.11.14
[FrontEnd]미들웨어 Redux Thunk  (0) 2018.11.13
[FrontEnd] 리덕스 준비  (0) 2018.11.13
Redux 정의 및 인스톨  (0) 2018.11.11