如何在中间件上添加“redux logger”?
我想在中间件链上添加如何在中间件上添加“redux logger”?,redux,react-redux,Redux,React Redux,我想在中间件链上添加redux logger。下面是我的代码: import {createStore, combineReducers, applyMiddleware, compose} from 'redux'; import reducers from './index'; import createLogger from 'redux-logger'; import thunk from 'redux-thunk'; const logger = createLogger ({
redux logger
。下面是我的代码:
import {createStore, combineReducers, applyMiddleware, compose} from 'redux';
import reducers from './index';
import createLogger from 'redux-logger';
import thunk from 'redux-thunk';
const logger = createLogger ({
log: 'info',
});
// create the global store
const store = compose (applyMiddleware (thunk, logger)) (createStore) (
reducers
);
export default store;
我将使用上述代码获得以下错误:
applyMiddleware.js:39 Uncaught TypeError: middleware is not a function
at applyMiddleware.js:39
at Array.map (<anonymous>)
at applyMiddleware.js:38
但是我需要创建带有一些特定参数的记录器。如何将创建的记录器添加到中间件链中?如果您将存储更改为以下内容,它应该可以正常工作:
const store = createStore(reducers, compose(applyMiddleware(thunk, logger)));
如果这不起作用,请研究一下这个问题。我认为它应该和上面的代码一样
如果您将您的店铺改为以下类型,它应该可以正常工作:
const store = createStore(reducers, compose(applyMiddleware(thunk, logger)));
如果这不起作用,请研究一下这个问题。我认为它应该和上面的代码一样
通过将
import
从'redux logger'更改为import{createLogger}修复了此问题
通过将import
从'redux logger'更改为import{createLogger}修复了此问题代码>
import { applyMiddleware, compose, createStore } from 'redux';
import reducers from './index';
import thunk from 'redux-thunk';
import { logger } from 'redux-logger';
const composeEnhancers = typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) : compose;
const middlewareList = [thunk, logger]
const enhancer = composeEnhancers(
applyMiddleware(...middlewareList)
);
const store = createStore(reducers, enhancer);
export default store;