未捕获的TypeError:(0,_store.configureStore)不是函数[重复]

Posted

技术标签:

【中文标题】未捕获的TypeError:(0,_store.configureStore)不是函数[重复]【英文标题】:Uncaught TypeError: (0 , _store.configureStore) is not a function [duplicate] 【发布时间】:2017-01-26 05:36:49 【问题描述】:

store.js

import createStore, applyMiddleware from 'redux';
import createLogger from 'redux-logger';
import rootReducer from './reducers/index';

const logger = createLogger();

const createStoreWithMiddleware = applyMiddleware(logger)(createStore);

export default function configureStore(initialState) 
  return createStoreWithMiddleware(rootReducer, initialState);

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import TrackList from './components/TrackList';
import configureStore from './store';
import * as actions from './actions';

const tracks = [
  
    id: 1,
    title: 'Title 1'
  ,
  
    id: 2,
    title: 'Title 2'
  
];

const store = configureStore();
store.dispatch(actions.setTracks(tracks));

ReactDOM.render(
  <TrackList />,
  document.getElementById('app')
);

文件夹src由index.js和store.js组成

显示消息 Uncaught TypeError: (0 , _store.configureStore) is not a function when F12

帮帮我谢谢

【问题讨论】:

【参考方案1】:

2019 年 3 月 11 日编辑:

此答案可能不再有效。请参阅下面 cmets 中的讨论,了解原因以及实际解决方案应该是什么。


你从你的模块中导出一个函数,所以你的导入应该是:

import configureStore from './store';

你会使用

import configureStore from './store';

如果您的导出看起来像

export default 
  configureStore: function(initialState) 
    return createStoreWithMiddleware(rootReducer, initialState);
  

【讨论】:

非常感谢,我是redux新手,再次感谢 export default ... 最终实际上不再起作用了。您现在必须按照规范按名称导出。导出应该是export function configureStore (initialState) ... @HieuBui 请注意,这是一个与 Redux 无关的 ES6 问题。 仅存在一个导出时出现错误,因此命名导出无法按照 @DDS 的建议工作。 您可以有一个命名导出。有一个导出并不意味着它是默认导出。

以上是关于未捕获的TypeError:(0,_store.configureStore)不是函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Vue:未捕获(承诺中)TypeError:无法读取未定义的属性'_c'

如何使用自定义错误消息捕获“TypeError:无法读取未定义的属性(读取'0')”?

未捕获(承诺):TypeError:无法读取未定义的属性“创建”(离子 3.9,Angularjs 5.0.3)

IBM Worklight 5.0.x:未捕获的 TypeError:无法调用未定义的方法“init”

未捕获的 TypeError:Vue.elementDirective 不是函数

在 Meteor 中使用 fs 模块获取未捕获的 TypeError _fs2.default.readFile 不是函数