在redux状态下保留大量请求

时间:2017-01-23 22:05:02

标签: redux immutable.js

我使用const initialState = new Map({ data: null, page: 1, ... }); 来保持我的应用程序状态。它由多个组合缩减器组成,这些缩减器是不可变的映射,如:

case FETCH_RESPONSE:
    return state.merge({
        rawRequestResponse: action.response // very slow, deep conversion to Immutable
    })
case FETCH_RESPONSE:
    return state.set({
        rawRequestResponse: action.response // also slow, it's converted to Immutable, though not deeply
    })
case FETCH_RESPONSE:
    return new Map({
        rawRequestResponse: action.response, // just like above
        ...
    })

所以每当网页上的某些内容发生变化时,我都需要获取请求响应,保存到某处,从中获取数据并更新状态。

问题是 - 我在哪里保留rawx中的原始请求响应?

让我们说,我想把它保持在州内。我尝试了以下方法:

jQuery(document).ready(function ($) {
    $('li.menu-item-type-custom').on('click', function () {

        $(this).children('ul.sub-menu').slideToggle();
    });
});

但他们都太慢了。最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

不确定是否将普通对象传递给set(),但如果将该键作为字符串传递,则该值作为第二个参数,则不应转换任何内容:

return state.set('rawRequestResponse', action.response)