我似乎无法让我的stateTransformer为Redux-logger工作。 我正在使用来自' redux-immutable'的combineRedcuers。我想把我的行为记录为普通的JS对象。
这很清楚如何在文档中做,但我似乎无法让它工作。这就是我目前正在尝试的。
我的记录器:(logger.js)
const stateTransformer = (state) => {
const newState = {};
for (let i of Object.keys(state)) {
console.log(i)
if (Immutable.Iterable.isIterable(state[i])) {
console.log(newState)
newState[i] = state[i].toJS();
} else {
newState[i] = state[i];
}
}
return newState;
}
export const logger = createLogger({
collapsed: true,
stateTransformer
})
然后我有我的index.js,我应用我的中间件。
const store = createStore(
reducers,
applyMiddleware(
thunk,
logger
)
)
除了我的Immutable对象没有记录为普通JS之外,所有东西似乎都正确记录。有人有什么建议吗?这是我使用的版本,如果相关的话。
"redux-immutable": "^4.0.0",
"redux-logger": "^3.0.1",
编辑:这是操作的当前输出
size: 1
__altered: false
__hash:undefined
__ownerID:undefined
_root:ArrayMapNode
__proto__:Object
它仍然作为不可变对象记录。