Skip to content
← Back to rules

vue/require-typed-ref スタイル

何をするか

ref および shallowRef 関数に対して明示的な型指定を必須とする。

なぜ悪いのか

TypeScript を使用している場合、noImplicitAny を使うことで any の使用を簡単に防ぐことができる。しかし、Vue の ref() 関数を使うとこのルールを簡単に回避できてしまう。ジェネリックパラメータや初期値なしで ref() 関数を呼び出すと、その refRef<any> 型となる。

このルールに対して不正なコードの例:

typescript
const count = ref();
const name = shallowRef();

このルールに対して正しいコードの例:

typescript
const count = ref<number>();
const a = ref(0);

利用方法

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "plugins": ["vue"],
  "rules": {
    "vue/require-typed-ref": "error"
  }
}
bash
oxlint --deny vue/require-typed-ref --vue-plugin

参照