我在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”
我在这里做错了什么?
答案 0 :(得分:0)
我不确定我们可以说。你提供的代码似乎都很好。了解错误的最简单方法是查看该错误的堆栈跟踪。它发生在哪里?导致它发生的原因是什么?在那里设置断点或使用"暂停异常"在调试器中查看究竟是什么尝试在apply
变量上调用undefined
- 为什么它是undefined
?这最终是真正的问题。
根据您的评论进行修改。
问题在于,您传递给combineEpics
的内容实际上并不是您的史诗,而是undefined
。通常,当您的史诗导入有拼写错误或未按预期导出时会发生这种情况。在combineEpics
之前暂停调试器,您将看到哪一个未定义(或所有这些)。
答案 1 :(得分:0)
只需在调用combineEpics的文件中导入storeEpic,它就可以正常工作