In this implementation if we try to create a ref with an object as a value (e.g. const test = ref({ count: 2 })) and then, if we change the value (e.g. test.value.count = 4) the setter (and accordingly the effect) WON'T BE triggered. I guess it's ok, because the setter tracks only the value changes but we try to change a property of the value.
The intresting thing is it works in a different way in Vue and the setter WILL BE triggered in this case. It would be nice to know why and how they implemented it.
In this implementation if we try to create a ref with an object as a value (e.g. const test = ref({ count: 2 })) and then, if we change the value (e.g. test.value.count = 4) the setter (and accordingly the effect) WON'T BE triggered. I guess it's ok, because the setter tracks only the value changes but we try to change a property of the value. The intresting thing is it works in a different way in Vue and the setter WILL BE triggered in this case. It would be nice to know why and how they implemented it.