如何获得合并集嵌套数组列表哈希映射在immutablejs

How to get merge set nested array of list hash map in immutablejs

本文关键字:哈希 映射 immutablejs 列表 数组 何获得 合并 嵌套      更新时间:2023-09-26

这段代码是做什么的?

  const repos = state.get(`users/${username}`);
    const nextRepos = repos.concat(Immutable.fromJS(res.body));
    return state.merge({
      [`users/${username}__res`]: res,
      [`users/${username}`]: nextRepos
    });

摘自:https://github.com/quangbuule/redux-example/blob/master/src/js/reducers/Repo.js

get('users/1')merge('users/1')如何工作

最终我得到了这样的结构:

let state = {
  sequence: [
    [{column:3}],
    [{column: 3}]
  ]
}
state = Immutable.fromJS(state);

我如何修改这个状态,也就是我如何添加一个新项,这样我就得到了这个:

{ sequence: [
   [{column:3},{column:1}],
   [{column:3}]
}

事实证明使用setIn, mergeIn, updateIn等方法对于嵌套结构非常有用:

let state = {
  sequence: [
    [{column:3}],
    [{column: 3}]
  ]
}
state = Immutable.fromJS(state);
const·item·=·Immutable.fromJS({column:·1});
const·nextState·=·state.updateIn(['sequence'],
                                     seq·=>·seq.push(item));

更新项目,使其具有以下结构:

{ sequence: [
   [{column:3},{column:1}],
   [{column:3}]
}