reactive() only takes objects, NOT JS primitives (String, Boolean, Number, BigInt, Symbol, null, undefined)
ref() is calling reactive() behind the scenes
Since reactive() works for objects and ref() calls reactive(), objects work for both
BUT, ref() has a .value property for reassigning, reactive() does not have this and therefore CANNOT be reassigned
ref() seems like the way to go since it supports all object types and allows reassigning with .value. ref() is a good place to start, but as you get used to the API, know that reactive() has less overhead, and you may find it better meets your needs.
使用场景
ref() when…
it’s a primitive (for example ‘string’, true, 23, etc)
it’s an object you need to later reassign (like an array - more info here)