从React组件状态中删除密钥的最佳方法

我正在使用一个反应类组件,该组件持有一个状态,(让我们说)存储了很多键值对。 根据用户操作(按钮按下/切换),我需要将新的键/值对删除/添加到组件的状态。添加一个相对容易,但是可以通过几种不同的方式从状态中拉出一个键-值对,因此我想知道哪个是ReactJS读者中最好,最易读,最高性能和最喜欢的。

1)选项1:

onRemove = key => {
    const newState = this.state;
    delete newState[key] // Interacts directly with the state, which might not be a good practice, or expended behaviour?
    this.setState(newState);
}

2)选项2:

onRemove = key => {
    const {[key]: removedKey, ...newState} = this.state; // Defines two new variables, one of which won't be used - "removedKey";
    this.setState(newState);
}

可能有更多的方法可以做到这一点,我想知道哪种方法最好,可以在任何情况下使用,无论国家的规模有多大...

请根据您在React&State Management的工作经验分享您的想法!

谢谢!