小编Gar*_*ary的帖子

使用拆分缩减器更新相关状态字段的最佳方法?

我正在尝试找出更新状态树上几个顶级字段的理想方法,同时仍然保持拆分缩减器.

这是我提出的一个简单的解决方案.

var state = {
  fileOrder: [0],
  files: {
    0:{
      id: 0,
      name: 'asdf'
    }
  }
};

function handleAddFile(state, action) {
  return {...state, ...{[action.id]:{id: action.id, name: action.name}}};
};

function addFileOrder(state, action) {
  return [...state, action.id];
}

// Adding a file should create a new file, and add its id to the fileOrder array.
function addFile(state, action) {
  let id = Math.max.apply(this, Object.keys(state.files)) + 1;
  return {
    ...state,
    fileOrder: addFileOrder(state.fileOrder, {id}),
    files: handleAddFile(state.files, {id, name: action.name})
  };
}
Run Code Online (Sandbox Code Playgroud)

目前我能够发送一个动作{type: …

reducers redux

7
推荐指数
1
解决办法
1626
查看次数

标签 统计

reducers ×1

redux ×1