Next.js勉強中です。
最近Next.jsを初めてインストールしてみました。
拡張子.tsxとは?っとなったのでメモします。
.tsxは「TypeScript + JSX」**を意味する拡張子
「TypeScript で JSX(React の HTML っぽい記法)を書くためのファイル」
📌 .tsx と .ts の使い分け まとめ
| 拡張子 | 使うべき場面 | 例 |
|---|---|---|
.tsx |
JSX を使う(コンポーネント & ページ) |
app/page.tsx, app/components/Button.tsx
|
.ts |
JSX を使わない(関数・API・型) |
app/lib/utils.ts, app/types/index.d.ts
|
✅ tsx だけで統一するとどうなる?
もし Next.js ですべて .tsx に統一すると…
❌ 関数だけのファイルでも JSX を意識する必要がある(無駄)
❌ 型定義だけのファイルでも .tsx を使うことになり、違和感がある
❌ 不要な JSX のチェックが入ってしまい、コンパイル時間が長くなる
🚀 まとめ
✅ 「Reactコンポーネント & ページ」は .tsx
✅ 「関数・API・型定義」は .ts
✅ 全部 .tsx で統一すると不要なオーバーヘッドが発生するので非効率
Next.js では 「画面を作る部分は .tsx」「ロジックや型だけの部分は .ts」 というルールで使い分けるのが最適!✨