LoginSignup
0
0

More than 3 years have passed since last update.

JSXとReact要素について整理しました

Last updated at Posted at 2020-11-20

JSXReact要素の定義についてざっくりと整理してみました。

JSXとは

JSXはReactでよく見るHTMLタグのようなもの。

<h1 className="greeting">Hello, world!</h1>

React要素とは

JSXから生成されるJavaScriptのオブジェクト。
Reactはこのオブジェクトを読み取りDOMを構築する。

上のJSXからはこのようなオブジェクトが生成される。

{
  type: 'h1',
  props: {
    className: 'greeting',
    children: 'Hello, world!'
  }
}

JSXからReact要素が生成される過程

  1. JSXはBabelによりReact.createElement()の呼び出しへとコンパイルされる。

  2. React.createElement()はオブジェクトを生成する。

このオブジェクトをReact要素と呼ぶ。
Reactはこのオブジェクトを読み取りDOMをレンダーする。

このようにJSXはコンパイル後にReact要素と呼ばれるJavaScriptのオブジェクトになるので、

  • 変数に代入したり、
  • 関数の返り値にしたり、
  • propsとして子コンポーネントに渡したり、

することができる。

最後に

とりあえずJSXReact要素は互いにコンパイル前後で呼び名が変わったもの、程度に理解しておけばよさそう。

0
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
0
0