如何在中间件上添加“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;