TypeError: Object(...) 不是函数;尝试创建 redux 商店时
Posted
技术标签:
【中文标题】TypeError: Object(...) 不是函数;尝试创建 redux 商店时【英文标题】:TypeError: Object(...) is not a function; when attempting to create a redux store 【发布时间】:2019-12-06 22:39:36 【问题描述】:我正在尝试将 Redux 集成到我的 React 应用程序中并创建一个商店,但我遇到了一个错误:
https://imgur.com/gHaNmiY
我在我的 app.js 文件中导入 Provider 并正确导入下面的文件...
store.js
import createStore, applyMiddleware, compose from 'react'
import rootReducer from './reducers'
import thunk from 'redux-thunk'
const initialState =
const middleware = [thunk]
const store = createStore(
rootReducer,
initialState,
compose(
applyMiddleware(...middleware),
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
)
);
export default store
app.js
import React from 'react';
import 'bootstrap/dist/css/bootstrap.min.css'
import './App.css'
import AppNavbar from './components/AppNavbar'
import ShoppingList from './components/ShoppingList'
import Provider from 'react-redux'
import store from './store'
function App()
return (
<Provider store=store>
<div className="App">
<AppNavbar />
<ShoppingList />
</div>
</Provider>
);
export default App;
reducers/index.js
import combineReducers from 'redux'
import itemReducer from './itemReducer'
export default combineReducers(
item: itemReducer
)
【问题讨论】:
如果有效,您会将问题标记为 ✅ 吗? 【参考方案1】:您从store.js
导入的方法来自 Redux 包,而不是来自react
。
参考 Redux 页面上的示例。https://redux.js.org/api/compose#example
您应该导入createStore, applyMiddleware, compose
,如下所示。
import createStore, applyMiddleware, compose from 'redux'
【讨论】:
【参考方案2】:在您的 store.js 中,您导入了 createStore, applyMiddleware, compose from 'react'
而不是 redux
【讨论】:
以上是关于TypeError: Object(...) 不是函数;尝试创建 redux 商店时的主要内容,如果未能解决你的问题,请参考以下文章
TypeError: Object(...) 不是函数(匿名函数)
TypeError: Object(...) 不是 index.js 上的函数
Angular:错误:未捕获(承诺):TypeError:Object(...)不是函数