使用immer.js更新数组中的某些项目

时间:2019-10-25 14:05:21

标签: javascript reactjs redux immer.js

我正在使用redux库,并且在reducer中,我只想更新状态属性(rowData)。

我想更新该数组中的某些项目。

export const initialState = {
    grid:{
        rowData: [],
    }
};
const appReducer = (state = initialState, action) =>
  produce(state, draft => {
    switch (action.type) {     
        case UPDATE_ROWS:
                  var rowsToUpdate = action.rowsToUpdate;
                  rowsToUpdate.map(rowToUpdate => {
                  const index = draft.grid.rowData.findIndex(rowData =>{
                        return  rowToUpdate.id === rowData.id;
                  });
                  if(index >= 0){
                     draft.grid.rowData[index] = rowToUpdate.priorityStep1;
                  }

          });

在使用immer.js进行此操作时遇到了麻烦。

你能帮我吗?

0 个答案:

没有答案