【问题标题】:Immutable-JS: Merge a List of Maps by keyImmutable-JS:按键合并地图列表
【发布时间】:2015-10-19 15:07:06
【问题描述】:

我有一个应用状态对象,看起来像这样:

const initialState = Immutable.fromJS({
    $isLoading: true,
    currentPage: 0,
    totalPages: 1,
    results: []
});

当我从服务器获取(使用fetch API)时,我想将$isLoading 设置为false,并从响应中合并currentPagetotalPages。到目前为止,使用merge 很容易。我不太确定如何优雅地合并到 results 节点中。它们是Immutable.Maps,应该基于_id 属性合并。有没有一种优雅的方法可以将它用于这段代码?

return state.merge({
    $isLoading: false,
    currentPage: res.page,
    totalPages: res.pages,
    results: 'something' // Take old results, merge with res.results
});

【问题讨论】:

    标签: reactjs flux immutable.js redux


    【解决方案1】:

    您应该能够将合并功能更改为 mergeDeep:

    https://facebook.github.io/immutable-js/docs/#/Map/mergeDeep

    【讨论】:

      猜你喜欢
      • 2011-12-06
      • 1970-01-01
      • 2018-05-09
      • 2015-06-21
      • 2017-04-05
      • 2020-10-26
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      相关资源
      最近更新 更多