I am struggling to understand why setState in this case is not able to update state object. Below is a simple example of my issue.

```js
class Temp extends Component<TempProps, TempState> {
  constructor(props: TempProps) {
    super(props);
    this.state = { 1: "apple", 2: "banana", 3: "pineapple" };
  }

  onBtnClick = () => {
    this.setState(
      (prevState) => {
        const newState = { ...prevState };
        delete newState["2"];
        console.log(newState); //{ 1: "apple", 3: "pineapple" }
        console.log(newState === prevState); //false
        return newState;
      },
      () => {
        console.log(this.state); //{ 1: "apple", 2: "banana", 3: "pineapple" }
      }
    );
  };
  render() {
    return (
      <button onClick={this.onBtnClick}>click me</button>
    );
  }
}
export default Temp;
```

Why setState() in onBtnClick() is not able to update the state object, even though prevState===newState is false?
I'm so confused... thanks a lot for the comments!