Protéger un état

rappels
let u ={a:1,b:1,c:1}; u = {...u, a:2, ["b"]:2, d:2}; // u = { a: 2,  b: 2,  c: 1,  d: 2}

u = {a:2, ["b"]:2, d:2, ...u}; // u = { a: 1,  b: 1,  c: 1,  d: 2}

let state = {
    account: null
  };

state.account="top"; //état non protégé
console.log(state)

// on protège l'état
  function updateState(property, newData) {
    state = Object.freeze({
      ...state,
      [property]: newData
    });
  }

  updateState("account",2);
  console.log(state)
  updateState("account",3);
  console.log(state)
 

  state.account="top"; // pluus possible

  console.log(state) 


L'affichage montre qu'une fois protégé on ne peut pas modifier l'état.

{ account: 'top' }

{ account: 2 }

{ account: 3 }

{ account: 3 }