我正在设置一个简单的 React/Redux 应用程序。这是我的设置:
var {createStore, applyMiddleware } = require('redux')
var thunkMiddleware = require('redux-thunk')
var store = createStore(
reducers,
applyMiddleware(thunkMiddleware)
)
class App extends React.Component {
render() {
return (
<Provider store={store}>
<HashRouter>
<div className="app">
<Route exact path='/' component={Home}/>
<Route path='/Test' component={Test}/>
</div>
</HashRouter>
</Provider>
);
}
}
Run Code Online (Sandbox Code Playgroud)
另外,这是我的减速器:
var {combineReducers} = require('redux')
const carlist = (state=[], action) => {
switch (action.type){
case 'LOAD':
return action.test
default:
return state
}
}
module.exports = combineReducers({carlist})
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,我收到此错误:
applyMiddleware.js:39 Uncaught TypeError: middleware is not a function
我错过了什么?
小智 5
问题看起来可能在这里:
var thunkMiddleware = require('redux-thunk')
你的中间件——这里thunkMiddleware——不是一个函数,表明它没有从包中被拉出。你应该试试:
var thunkMiddleware = require('redux-thunk').default
或者,尝试使用 ES6 模块语法(因为您已经在使用 ES6 功能):
import thunkMiddleware from 'redux-thunk'
| 归档时间: |
|
| 查看次数: |
8431 次 |
| 最近记录: |