μ€λμ JSXμμ λ°°μΈ κ² μ΄λ€. μ΄μ μ λ°°μ λ μλμ λ¬Έλ²μ λ μ½κ² μ°λ λ°©λ²μ΄λ€.
const h3 = React.createElement("h3", {
id : "title",
onMouseEnter:() => console.log("mouseenter")
},
"Hello i'm a span"
);
μ°μ JSX λ°©μμΌλ‘ λ€μ μ½λ©νλ©΄ μλμ κ°λ€. νμ΄ν ν¨μ
λ₯Ό μ¨μ μμ±νλ€.
const Title = () => (
<h3 id="title" onMouseEnter={() => console.log("mouseenter")}>
Hello i'm a title
</h3>
);
νμ§λ§ μμ κ°μ΄ μμ±νλ©΄ μλ¬κ° λ¨λ κ²μ λ³Ό μ μλ€.
μλ¬κ° λ¨λ μ΄μ λ μ»΄ν¨ν°κ° JSX λ¬Έλ²μ μ½μ§ λͺ»νλ κ²μ΄λ€.
μμ κ°μ΄ JSX λ¬Έλ²μ λ³νν΄μ μ»΄ν¨ν°κ° μ½κ² ν΄μ€μΌνλ€. μ΄κ²μ λ³ννλ Babel
JSνμΌμ μν¬νΈ μν€κ³ script typeμ μ§μ νλ©΄ λλ€. μ΄λ»κ² μ§μ νλμ§ λ³΄μ
μλμ κ°μ΄ babel.js
λ₯Ό μν¬νΈ μν€κ³ script
μ type="text/babel"
μ μ§μ ν΄μ€λ€.
κ·Έλ¦¬κ³ κΈ°μ‘΄μ λΆλ¬μ¬ λ μλμ κ°μ λ°©λ²μ μΌλ€λ©΄ JSX λ¬Έλ²μ
const container = React.createElement("div", null, [h3, btn])
ReactDOM.render(container, root);
μλμ κ°λ€.
const Container = () => <div>
<Title />
<Button />
</div>
ReactDOM.render(<Container />, root);
μ£Όμμ μ μ»΄ν¬λνΈμ 첫 κΈμλ λ°λμ λλ¬Έμμ¬μΌ νλ€.
JSX λ¬Έλ²μ μ°λ©΄ μ’λ κ°κ²°νκ² μ½λ©ν μ μλ€. 리μ‘νΈ λ§μΈ
10000μΈ!