const state = new Proxy( { fun: { awesome:true } }, { set: (target, prop, value) => { console.log(`Property ${prop} changed from ${target[prop]} to ${value}`); target[prop] = value } } ) console.log(state); state.fun.awesome = false console.log(state);