我们刚刚从不可变迁移到immer,在chrome中使用Redux Devtool时得到了一个惊喜(在Firefox中相同(
我们的 redux 状态使用排版映射、集合和数组。例如
export interface IStoreRoot {
appDefinition: IStoreAppDef;
discussions: IStoreDiscussions;
themes: IStoreThemes;
ns: Map<nsUid, INameSpace>;
...
}
签入 de ReduxDev Tools 时,ns 总是为空,即使它里面有值。其他打字稿对象也是如此。普通物体很好。
有人遇到同样的问题吗?
仅对于那些使用NgRx的人来说,为了能够在状态视图中查看Map对象的实际数据,也有类似的东西:
StoreDevtoolsModule.instrument({
maxAge: 25,
logOnly: environment.production,
serialize: {
options: {
map: true,
},
},
})
面临此问题。
浏览文档,似乎默认情况下未启用序列化 Maps(以及少数其他对象/数据结构(。
您需要显式添加代码来序列化它们。例如,在这种情况下:
const store = Redux.createStore(reducer,
window.__REDUX_DEVTOOLS_EXTENSION__ &&
window.__REDUX_DEVTOOLS_EXTENSION__({
serialize: {
options: {
map: true,
}
}
}));