JSX Transpiler

@babel/plugin-transform-react-jsx

이 플러그인을 통해 JSX구문을 자바스크립트가 이해할 수 있는 형태로 변환함.

JSX 변환 전

const ComponentA = <A required={true}>Hello World</A>

const componentB = <>Hello World</>

const ComponentC = = (
  <div>
    <span>Hello World</span>
  </div>
)

JSX 변환 후


'use strict'

var ComponentA = React.createElement(
  A,
  {
    required : true
  },
  'Hello World'
)

const ComponentB = React.createElement(
  React.Fragment,
  null,
  'Hello World'
)

const ComponentC = React.createElement(
  'div',
  null,
  React.createElement(
    'span',
    null,
    React.createElement('span', null, 'hello World')
  )
)

JSX 변환 후(자동 런타임 트랜스파일한 결과)

공통점

  • JSXElement를 첫번째 인수로 선언해 요소를 정의함.

  • 옵셔널인 JSXChildren, JSXAttributes, JSXStrings는 이후 인수로 넘김.

Last updated