【问题标题】:How to Delete an Object from state in react?如何在反应中从状态中删除对象?
【发布时间】:2021-10-13 20:47:02
【问题描述】:

我有这个对象,我想根据 id 删除。 经典的删除对象似乎不起作用我正在复制调用删除的状态,但它给了我一个错误是我的语法还是应该以不同的方式处理删除?

// State Object Model
Items : {
id1 : [some items ],
id2 : [some items ],
id3 : [some items ],
id4 : [some items ],
id4 : [some items ],
}
// Reducer Delete Logic
 case DELETE_OBJ:    
return {
  Items: {
    ...state.Items,
    delete Items[id1]
    }
  };

【问题讨论】:

    标签: reactjs react-context


    【解决方案1】:

    先浅拷贝,后删除。您必须对正在更新的所有状态和嵌套状态进行浅拷贝。在这种情况下,您浅拷贝根状态,然后还有嵌套的 Items 状态对象。

    // Reducer Delete Logic
    case DELETE_OBJ:    
      const newState = {
        ...state,
        Items: {
          ...state.Items,
        },
      }
      delete newState.Items[id1];
      return newState;
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 2020-06-23
      相关资源
      最近更新 更多