redux-observable error Uncaught TypeError:无法读取undefined的属性'apply'

时间:2017-03-13 02:17:24

标签: redux redux-observable

我在redux react应用程序中使用redux-observable。下面是我连接所有内容的代码。我也在使用redux-dev工具。

const rootEpic = combineEpics(
    storeEpic
);

const epicMiddleware = createEpicMiddleware(rootEpic);

//Combine the reducers
const reducer = combineReducers({
    syncSpaceReducer,
    routing: routerReducer
});

const loggerMiddleware = createLogger();
const enhancer = compose(
    applyMiddleware(thunkMiddleware, loggerMiddleware, epicMiddleware),
    DevTools.instrument()
);

const store = createStore(reducer, enhancer);

我的史诗有以下代码

export const storeEpic = action$ =>
    action$.ofType('FETCH_STORES')
    .mapTo({
        type: 'FETCHHING_STORES'
    });

现在,当我运行应用程序时,我收到以下错误

未捕获的TypeError:无法读取未定义的属性“apply”

我在这里做错了什么?

2 个答案:

答案 0 :(得分:0)

我不确定我们可以说。你提供的代码似乎都很好。了解错误的最简单方法是查看该错误的堆栈跟踪。它发生在哪里?导致它发生的原因是什么?在那里设置断点或使用"暂停异常"在调试器中查看究竟是什么尝试在apply变量上调用undefined - 为什么它是undefined?这最终是真正的问题。

根据您的评论进行修改。

问题在于,您传递给combineEpics的内容实际上并不是您的史诗,而是undefined。通常,当您的史诗导入有拼写错误或未按预期导出时会发生这种情况。在combineEpics之前暂停调试器,您将看到哪一个未定义(或所有这些)。

答案 1 :(得分:0)

只需在调用combineEpics的文件中导入storeEpic,它就可以正常工作