1. JSXμ μ μ
μλ νλ‘ νΈ μ½λλ νλ©΄μ λμ°λ HTML, κ·Έ HTMLμ κΎΈλ―Έλ CSS, ν리μ ν
μ΄μ
λ‘μ§μ λ΄λΉνλ JS μ΄ 3κ°μ§λ‘ λλλ€. μ΄λ κ² μμμ ꡬλΆνμ¬ μμ±νλ κ²μ λλλ‘, νΌλ‘κ°μ μ λ°νλ€. μλνλ©΄, JSλ‘ λ§λ λͺ¨λ(νΉμ κΈ°λ₯μ νλ μ½λ)μ μ°κ²°ν νΉμ HTML μμ(elements)μ μ°κ²°νλ μμ
μ νμ ν΄μ€μΌνκΈ° λλ¬Έμ΄λ€. ν΄λΉ μμ
μ μν΄ λ°λ‘ μ½λλ₯Ό μμ±ν΄μΌ νκΈ°μ κ°λ
μ±μ΄ λμ± μ μ’μμ§λ€.
JSXλ JavaScript & XML/HTMLμ μ½μλ‘, μμμ 보μ¬μ§ νλ‘ νΈ μλ μ λ°μ μ½μ μ 보μνκΈ° μν΄ λ§λ€μ΄μ§ κ°λ
μ΄λ€. JSXμμλ Javascript μ½λ μμμ HTML μ½λλ₯Ό μμ±νλ κ²μ΄ κ°λ₯νλ€. λ°λΌμ λ°κ³Ό κ°μ μ½λ μμ±μ΄ κ°λ₯ν΄μ§λ€.
const element = <h1> Hello, World! </h1>
μ΄λ κ² νννλ©΄ JS μμ μμμ ν리μ ν μ΄μ λ‘μ§ κ΅¬νκ³Ό HTMLμ μ΄μ©ν νλ©΄ κ·Έλ¦¬κΈ°κ° λͺ¨λ κ°λ₯ν΄μ§λ€. κ·Έλ¬λ©΄ μ΄λ»κ² μ΄λ¬ν νμκ° κ°λ₯ν΄μ§ κ²μΌκΉ?
2. JSXμ μλ μ리
JSXλ λ΄λΆ λ‘μ§μΌλ‘ JSX λ¬Έλ²μΌλ‘ μ νμ§ μ½λλ₯Ό λλλ§ μμλ JS κ°μ²΄λ‘ λ°κΎΌλ€. μμμ μΈ JS μ½λλ₯Ό μ°λ μμ μ κΈ°μ΅ ν΄λ³΄μ. μ°λ¦¬κ° ν리μ ν μ΄μ λ‘μ§μ μ§λ€κ°, νΉμ HTML μμλ₯Ό λ‘μ§ λμ€μ μΆκ°ν΄μΌν μΌμ΄ μκ²Όλ€λ©΄, μ΄λ»κ² νλκ°?
let element = document.createElement(tagName[, options]);
μμ κ°μ΄ documentμ createElementλΌλ ν¨μλ₯Ό μ΄μ©νμ¬ HTMLμ μ κ·Όν΄μ μλ‘μ΄ μμλ₯Ό κ·Έλ Έλ€. JSX λ¬Έλ²μ JSXλ‘ μ ν μ½λλ€μ λλλ§ μμ,
React.createElement(
type,
[props],
[... children]
)
μμ λ‘μ§μ μ 보μ΄λ κ³³μμ μλμΌλ‘ λλ € HTMLκ³Ό JSλ₯Ό λΆλ¦¬νμ¬ λλλ§ μν¨λ€.