我在玩角和ngrx/store 17号.
我设置了一些操作,定义了Relative Reducer并分派了操作,但出现了这个错误:
TypeError: can't access property "type", creator is undefined
个
它发生在函数on()
内部,当它试图提取动作的类型时,原因似乎是动作未定义.
我做过很多次这样的事情,我都数不清了,但这样的事情从未发生在我身上.
这是我行动的定义
export const setTitle = createAction(`Set title`, props<{ title: string }>());
减速器
export const sharedFeature = createFeature({
name: sharedFeatureKey,
reducer: createReducer(
initialState,
on(SharedActions.setTitle, (state, { title }) => ({ ...state, title })),
),
});
和模块中的注册:
StoreModule.forFeature(fromShared.sharedFeature),
我真的不明白我做错了什么,我在网上也找不到任何东西.
编辑:
经过一些实验后,我发现原因似乎与模块没有绑定到任何路由有关.
在app.module中为模块定义一条路径解决了这个问题,但我以前已经做过类似的事情(Angular 8),没有这种问题.
最新版本有什么变化吗?
EDIT2:
这不是路由,而是当我试图从驻留在另一个模块中的组件内部分派操作时发生的.但这并不能解释为什么如果模块没有绑定到某个路由,模块内部的调度仍然会返回错误.