VueのReactivity Transformの記事を読んだ
Vue.js は Reactivity Transform でさらに進化する
読んだ。
ref
のアクセスに.value
をつけなくてはいけないのを$ref()
で囲うことで省略できるようになったらしい。
そしてRef<T>
を返すObjectにはconst { a, b } = $(useXxx)
のように書くことで分割代入でアクセスできるようになったらしい。
また、ref
に戻したいときは$$()
で囲うと.value
でアクセスできる状態に戻るらしい。
なるほど……。
なんか、どんどんVueワールドが展開されていってる感じがする。
$ref()
という書き方が個人的にしっくりこないという完全なお気持ち問題もあるけど、そもそもリアクティブな変数の表し方にreactive
とref
の2通りの書き方があり、どっちにも特徴があってそもそもどっちを使うか問題が発生する。
さらにreactive
のほうは分割代入などでリアクティブ性が失われるみたいな落とし穴もあったりして、う〜んという気持ちになってしまう。
最近では基本的にref
を使うようにするということで統一してきているし、.value
でアクセスすることでリアクティブなことが明確になっているのもあったので、なんかいろんな方向に中途半端な道がたくさん用意されている感を覚えてしまう……。
自分が使いこなせていないだけかもしれないのであんまり言ってもアレだとは思うけど。
reactive
とref
の話はここを読みました。