2
1

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 3 years have passed since last update.

なぜ import React from 'react' するのか

Last updated at Posted at 2020-07-08

なぜReactをimportする必要が?

reactのアプリケーションを書いていると、何も考えずにimport Reactしませんか?
僕は何も考えていません。importし忘れたらエラーが出るのでimportしてました。

import React from 'react';
import SomeButton from '~/components/SomeButton';

function RenderButton() {
 return <SomeButton color="blue" />
}

上記のコードを見ていただければ分かる通り、Reactなんてどこにも使ってないですよね。
では何故importする必要があるのか。

JSXはReactのシンタックスシュガー

これが答えでした。

<SomeButton color="blue" />

React.createElement(
  SomeButton,
  { color: 'blue' }
)

のシンタックスシュガーです。
そのため、JSX記法を使う際にはスコープ内にReactが存在する必要があります。

import React from 'react';
import SomeButton from '~/components/someButton';

function RenderButton() {
 return <SomeButton />
 // return React.createElement(SomeButton, { color: 'blue' }) 
}

ちなみにwebpackなどでバンドルせず、scriptタグでReactを読み込んでいる場合はグローバルスコープにReactがあるのでimportなどは不要です。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?