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?

More than 1 year has passed since last update.

【React】normal exportとdefault exportについて

Posted at

reactのexport方法にはnormal exportとdefault exportの2種類ある。
違いは以下の点。

normal export

(exportするコンポーネント側の記述。今回はMainComponentというコンポーネントをexportしたいものとする。)

export const MainComponet = ( ) => { };

(importするコンポーネント側の記述)

import { MainComponet } from ‘./MainComponet’;

normal exportの場合、MainComponetをexportするときにconstの前にexportをつけ、importする時にそのコンポーネント名を{ }で囲む。
また、normal export の場合、importしたいコンポーネント名はexportしたコンポーネント名と一致していなければエラーになる。
なので、import { MainComponet } from ‘./MainComponet’;の中の{ MainComponet }は、{ SubComponet }のようにコンポーネント名を変更することはできない。

default export

(exportするコンポーネント側の記述。今回はMainComponentというコンポーネントをexportしたいものとする。)

const MainComponet = ( ) => { };

default export MainComponet;

(importするコンポーネント側の記述)

import MainComponet from ‘./MainComponet’;

default export の場合、MainComponetをexportするときは、default export MainComponet とし、const の前にはexportはつけない。
また、importするときは、{ }でimportするコンポーネントは囲まない。
さらに、importしたいコンポーネント名はMainComponetになっているが、変更することもできる。
なので、import MainComponet from ‘./MainComponet’;の中のimport MainComponetをimport Subcomponetとしても良い。

注意点

できるだけnormal exportを使用した方が良い。
理由は、default exportだと、import したいコンポーネント名が異なっていてもそのことに気づかなかったり、他のコンポーネントをimportしている可能性があるため。

as について

normal exportでコンポーネント名を変更したいときは、import 時にasを使用すると、コンポーネント名を変更することができる。

(MainComponentをSubComponentという名前に変更し、importしたいとき)

import { MainComponent as  SubComponent } from './MainComponet’;
1
0
0

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?