React開発で使うならnamed export?default export?
Discussion
Closed
知りたいこと
React
の開発をしていて、コンポーネントごとにファイルを分けると思います。
そこで、コンポーネントをnamed export
するかdefault export
するかについて、いろんな意見をお聞きしたいです。
ちなみに私はエディタでのサジェストなどが聞くため、named export
で開発しています。
詳しくは↓
2
Discussion
Closed
React
の開発をしていて、コンポーネントごとにファイルを分けると思います。
そこで、コンポーネントをnamed export
するかdefault export
するかについて、いろんな意見をお聞きしたいです。
ちなみに私はエディタでのサジェストなどが聞くため、named export
で開発しています。
詳しくは↓
正直ベストプラクティスと断言できるほど分かってませんが、次のような使い分けはどうでしょうか?
コンポーネントAとコンポーネントBがあり、依存関係A→Bがある場合、
Bをリファクタリングしたり、Bの責務が変わったたりして、名前を変更することがあると思います。その場合、同じコードベースにあるAは、Bの新名に追従してほしいところです。そうなってくると、名前付きエクスポートのほうが静的解析ツール(TypeScriptなど)で発見できるので、運用がしやすいです。
Aを開発しているチームの指揮命令系統にないところでBが開発されるようなケースです。たとえば、Bがオープンソースのライブラリだったり、別のチームだったり。そのようなケースで名前付きエクスポートを使うと、Bのリファクタリングなどにより、Aをはじめ無関係なライブラリユーザーたちが改名につきあわされるか、気づかず不具合を生んだりすることが懸念されます。Bを開発する立場でも、名前付きエクスポートにしていると、変更に慎重にならざるを得ず、本当は改名したいけど怖いからできない、なんてこともありそうです。AとBの開発主体が協調関係にない場合は、デフォルトエクスポートを使うのも合理性がありそうです。
かくいう僕も気になるところなので他の人の意見も聞きたいです!