Immutable.Js更新会在Redux Devtools禁用的情况下产生错误

时间:2019-02-12 08:31:25

标签: reactjs redux redux-saga immutable.js redux-devtools-extension

我有一个奇怪的问题。如果在Chrome上禁用了 Redux DevTools 扩展程序,则Redux Saga Reducer会给出错误消息。但是,当我启用 Redux DevTools 时,没有错误,一切正常。

我的客户报告了此问题,因为他显然没有Redux DevTools扩展。

这是我禁用Redux DevTools时的错误:

  

无法读取未定义的属性'unshift'

我正在使用redux-saga和immutable.js。 当操作成功或错误完成时,它会生成带有reducer的通知。精简器将新的通知添加到notifications数组中,Notify组件会生成通知。

初始状态:

export const initialState = fromJS({
    loading: false,
    notifications: [],
});

单个通知:

{
    key: new Date().getTime() + Math.random(),
    show: true,
    type: 'success',
    message: action.request.message,
}

减速器:

case FOLLOW_SUCCESS:
    return state
        .set('loading', false)
        .update('notifications', arr => arr.unshift(
            fromJS(
                {
                    key: new Date().getTime() + Math.random(),
                    show: true,
                    type: 'success',
                    message: action.request.message,
                 }
             )
        ))

我该如何解决这个 Redux DevTools 问题或这是什么?

0 个答案:

没有答案