>>101562640
I'm pretty experienced in Vue.
There are a few bad design decisions there.
The worst is automatic unwrapping. They tried to remove the .value for convenience.
But imagine you have a class like so
class SomeThing {
public someValue = ref<string>('someString');
}
Now go initialize that class in a template like so:
const state = reactive<{
someThing: SomeThing;
}>({
someThing: new SomeThing,
})
The "reactive" unwraps" someValue so that it is accessed as just "someThing.someValue" instead of "someThing.someValue.value". This breaks consistency (and typing). At larger scale, it makes things very unpredictable to work with.