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 |