1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【JavaScript】Reactコンポーネント関数の書き出し方(default export)

1
Last updated at Posted at 2026-11-10

あれ?ド忘れした(ゲシュタルト崩壊)

React初学者です。
ハンズオンで学んでいて、自分でコンポーネントを1から書こうとして、エラーになり、いつも通りの書き方が分からなくなりました。
普段ふつーに見て真似して書いているのに、いざ自分で1から書こうとしたら思い出せないことってありませんか?
自分が今回そうでした。。。
この経験を踏まえて鉄板となる記事を書こうと思った次第です。
私が躓いたのは、default exportと呼ばれるタイプのexportの仕方でした。

Reactコンポーネントの関数の間違った書き出し方(default export)

以下は×です。

❌
export default function App = () => {
}

おっと!function宣言とアロー関数が混ざってしまった・・・
ということで、アロー関数思い出した!!で、次も×です。

❌
export default const App = () => {
}

Reactコンポーネントの関数の正しい書き出し方(default export)

①function宣言

⭕
export default function App() {
}

②アロー関数を変数に代入(最後にexport)

⭕
const App = () => {
}
⭕
export default App

因みにdefaultって何?

1ファイルに1つだけ代表的に行うexportに付けます。
import時{}を付けません。
import時の変数名はimport側でなんでも付けて良く、import側で付けた変数名で使い回せます。

exportには、
・default export
・named export
があります。
次のような表で区別できます。

default named
1ファイル内設置数 1つだけ いくつでもOK
import時の{} なし 必要
import時の名前 自由 export側の名前で一致させる
利点 1ファイル1コンポーネントで分かり易い。ViteやNext.jsのページなど、テンプレートやフレームワークがdefaultを前提としていることが多い import時に名前が固定されるので、タイプミスで別名importされる事故が無い。リネーム時のエディタの追従性が高い。大きめのプロジェクトで「default禁止」にしていることも。

Reactのコンポーネントは、default exportである必要はありません

それぞれ、上記のような利点があります。

おわりに

講義でそう言えば、さら~っと説明があった記憶があるexportタイプ・・・・・
案外、確りと理解しておかないと、自分でアウトプットする際に、迷子になってしまう箇所と分かりました~!

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?