4

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

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

当我从服务器获取(使用fetchAPI)时,我想设置为 false,并从响应中$isLoading合并currentPage和输入。totalPages到目前为止,这很容易使用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
});
4

1 回答 1

4

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

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

于 2015-07-29T19:23:25.163 回答