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 }