当我尝试在react-redux中创建商店时,我得到了这个奇怪的错误。我不知道为什么我以前在不同的应用程序中这样做时,它工作得很好。
TypeError: Object(...) is not a function
./src/index.js
C:/projects/facebook/facebook-react/src/index.js:14
11 | import rootReducer from './rootReducer';
12 | import registerServiceWorker from './registerServiceWorker';
13 |
> 14 | const store = createStore(
15 | rootReducer,
16 | composeWithDevtools(applyMiddleware(thunk))
17 | );
View compiled
▶ 6 stack frames were collapsed.
这是我的档案
index.js
import { createStore, applyMiddleware} from 'redux';
import { composeWithDevtools } from 'redux-devtools-extension';
import thunk from 'redux-thunk';
import { Provider } from 'react-redux';
import App from './App';
import rootReducer from './rootReducer';
import registerServiceWorker from './registerServiceWorker';
const store = createStore(
rootReducer,
composeWithDevtools(applyMiddleware(thunk))
);
ReactDOM.render(
<BrowserRouter>
<Provider store={store}>
<App />
</Provider>
</BrowserRouter>
, document.getElementById('root'));
registerServiceWorker();
根还原剂
import { combineReducers } from 'redux'; import user from './reducers/user';
export default combineReducers({
user });
减速器/用户
import { USER_LOGGED_IN } from '../types';
export default function user(state = {}, action={}) {
switch (action.type) {
case USER_LOGGED_IN:
return action.user;
default:
return state;
} }
7条答案
按热度按时间vyu0f0g11#
我也有同样的问题:我可以让它在一个测试应用程序上工作,但不能把它移到我的主项目中。我检查了所有的代码100次,并进行了广泛的研究,但没有找到任何东西可以让connect()在不抛出“TypeError:对象(...)不是函数”
最后,当我用旧react运行redux的新版本时,所需要的只是更新我主项目中的react和react-DOM。
只需在您的项目文件夹中运行以下命令。
628mspwn2#
如果您正在查看此消息,现在是大约2020年与上述相同的问题,然后确保在导入语句
应该是
名称区分大小写。您需要确保“DevTools”的大小写正确。
hk8txs483#
出现此错误的原因是:
u59ebvdq4#
我正在使用react样板库,执行了“npm更新”,但由于某种原因,“aws-amplify”被破坏。因此,我取消了我的package.json和package-lock.json,并返回到以前的package.json和package-lock.json,运行了“npm安装”。突然,“对象(...)不是函数”错误得到解决。
cyvaqqii5#
在我的情况下,错误来自拼写错误的'composeWithDevTools'我试图导入'composeWitdhDevTools'愚蠢的我...请检查导入。
您还可以将鼠标悬停在所有导入项上,查看是否确实导入了正确的方法.. for composeWithDevTools,当您这样做时,它应该如下所示:
bvhaajcl6#
我的解决方案:
我不知道为什么,但它的工作,我创建了一个rails应用程序与react和react-redux.我得到了这个错误2次在不同的应用程序
b09cbbtk7#
我也遇到了同样的问题,在阅读了两个小时的代码后,我意识到它存在于我们传递给createSlice()的对象的定义中。
如果你仔细看,你会发现“reducer”一词末尾没有“s”,所以应该是这样的:
当组件尝试调度由该Reducer生成的操作时触发错误。