Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Redux记录器导出已更改_Javascript_Node.js_Logging_Redux - Fatal编程技术网

Javascript Redux记录器导出已更改

Javascript Redux记录器导出已更改,javascript,node.js,logging,redux,Javascript,Node.js,Logging,Redux,我已将我的网页包升级到最新版本。 在解决了webpack.config的一些问题后,我可以再次编译。 但现在,当我尝试运行我的站点时,我看到以下错误: [redux-logger v3] BREAKING CHANGE [redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings. [redux-logger v3] Change [redux-logger v3] impor

我已将我的网页包升级到最新版本。 在解决了webpack.config的一些问题后,我可以再次编译。 但现在,当我尝试运行我的站点时,我看到以下错误:

[redux-logger v3] BREAKING CHANGE
[redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings.
[redux-logger v3] Change
[redux-logger v3] import createLogger from 'redux-logger'
[redux-logger v3] to
[redux-logger v3] import { createLogger } from 'redux-logger'

Uncaught TypeError: middleware is not a function
at applyMiddleware.js:39
at Array.map (<anonymous>)
at applyMiddleware.js:38
at createStore (createStore.js:51)
at configureStore (store.js:13)
at Object.<anonymous> (NavBar.js:7)
at Object.module.exports (bundle-hot.js:106583)
at __webpack_require__ (bootstrap 876f8fb1506d9b4ca875:707)
at fn (bootstrap 876f8fb1506d9b4ca875:112)
at Object.<anonymous> (App.js:6)
我正在使用的版本:

"redux": "3.7.2"
"redux-thunk": "2.2.0",
"redux-logger": "3.0.6",
"react-router": "4.2.0",
"react-router-redux": "4.0.8",

更新#1

在@Alechill的回答之后,我现在得到了以下问题(我认为是相关的):

错误来自使用存储的syncHistoryWithStore

在我升级到webpack的最新版本和所有依赖项之前,这是有效的。
是不是调用得太早了?

您正在导入
logger
,但应该导入
createLogger
,因为导出已更改

从类型defs:

export const logger: Redux.Middleware;
export function createLogger(options?: ReduxLoggerOptions): Redux.Middleware;
您正在导入的
logger
只是中间件的默认实例,但您试图调用它,就好像它是工厂函数一样

您可以通过以下方式在模块中修复此问题:

import { createLogger } from 'redux-logger'
const middleware = applyMiddleware(thunk, createLogger({collapsed:true}), routerMiddleware(browserHistory))

您正在导入
logger
,但应该导入
createLogger
,因为导出已更改

从类型defs:

export const logger: Redux.Middleware;
export function createLogger(options?: ReduxLoggerOptions): Redux.Middleware;
您正在导入的
logger
只是中间件的默认实例,但您试图调用它,就好像它是工厂函数一样

您可以通过以下方式在模块中修复此问题:

import { createLogger } from 'redux-logger'
const middleware = applyMiddleware(thunk, createLogger({collapsed:true}), routerMiddleware(browserHistory))

谢谢,我正在用现在发生的事情更新我的问题。谢谢,我正在用现在发生的事情更新我的问题。我将把重点交给alechill,因为问题的答案已经解决了。我已经为接下来发生的事情打开了另一个问题。我将向alechill说明这一点,因为问题的答案已经解决。我为接下来发生的事情打开了另一个话题。
import { createLogger } from 'redux-logger'
const middleware = applyMiddleware(thunk, createLogger({collapsed:true}), routerMiddleware(browserHistory))