【React】学習ロードマップ take3 ~export~

React

概要

Reactを学習するにおいて、実際に手を動かすのが吉ということで、アプリケーションを作成します。

その中で、exportという概念が出てきたので解説します。

元記事

前の記事

次の記事

exportとは

特定の関数、オブジェクトを、他のファイルで使用できるようにするためにする処理。

使用するファイルでは、import文を用いて使用できるようになります。

exportには以下2種があります。

named export

特徴

  • 1つのモジュール内に何度でもexportできる
  • 呼び出すファイルでは、指定の名前でimportしなければならない
  • エディタでimport文を自動補完してくれる

実装

ColorMessageをexportすると、このような実装になります。

また、named exportは複数可能なので、セットで増やすことができます。

App.jsx
----------------------------------
import { ColorMessage } from "./compornents/ColorMessage";

・
・
<ColorMessage color="blue" message="hello" />
・
・

compornents/ColorMessage.jsx
----------------------------------
export const ColorMessage = (props) => {
  const { color, message } = props;
  const contentStyle = {
    color: color,
    fontSize: "25px",
  };
  return (
    <>
      <p style={contentStyle}>{message}</p>
    </>
  );
};

default export

特徴

  • 1つのモジュール内に1度しかexportできない
  • 呼び出すファイルでは、任意の名前でimportできる
  • 「export default hogehgoe」という記述が必要

実装

ColorMessageをexportすると、このような実装になります。

また、default exportは1つしかできないので、セットで増やすことができません。

App.jsx
----------------------------------
import cmTest from "./compornents/ColorMessage";

・
・
<cmTest color="blue" message="hello" />
・
・

compornents/ColorMessage.jsx
----------------------------------
const ColorMessage = (props) => {
  const { color, message } = props;
  const contentStyle = {
    color: color,
    fontSize: "25px",
  };
  return (
    <>
      <p style={contentStyle}>{message}</p>
    </>
  );
};
export default ColorMessage

まとめ

実際に手を動かして実装することで、イメージを少し掴めてきました。

named exportとdefault exportのどちらをつかうべきか…となると、私はnamed exportかと思います。

いくつか理由はありますが、named exportの方がより柔軟性が高く使いやすいためです。

以上、exportについてでした。参考になりましたら幸いです!

コメント

タイトルとURLをコピーしました