今までJavascriptばかりで、TypeScriptは使っていませんでしたが、実際にTypeScriptを使い始めると、もうTypeScript抜きでの開発は怖くてできなくなります。
TypeScriptの強力な機能の1つが「型」を持つことです。
Vue3はpropsを受け取る際に型を指定できます。このやり方について無知ゆえに変な書き方をしていましたが、どうやらもっと良い書き方があるようです。今日はそんな記事を書いてみました
Interfaceを使って型を指定する?#
最初はよくわからなかったのでこのやり方を使っていました。
これでも動きますが、似たような記述を2回書かなければならず、ちょっと面倒です。あとリンターがWarningを飛ばしてきます。
これに対応するため、 propsReportsに対して type: Object と書いてもいいのですが、なんか違う・・・これじゃない感がありました。
type: Object as PropType <型>を使う#
よくよく調べてみると、propのTypeに自分が作った型を指定できるようです。それがこの PropType です。
このPropTypeを使えばInterfaceで別途型定義しなくても、propsの中に独自の型を書き込むことができるようです。ちゃんと型推論も機能します。
TypeScriptはなれるまで大変だけど便利#
まだまだTypeScriptはわからないことがたくさんあります。今回Vue3のリリースからTypeScriptを正式に始めようと思いましたが、最初はワーニングの雨あられ。心が折れそうになりました。
しかし1週間も四苦八苦しているとだんだんやり方が分かってきます。Vue3ではTypeScriptと相性が良くなったので、ぜひ活用したいですね