리μ‘νΈ(React)λ νμ΄μ€λΆμ΄ λ§λ μ¬μ©μ μΈν°νμ΄μ€(UI)λ₯Ό λ§λ€κΈ° μν μλ°μ€ν¬λ¦½νΈ λΌμ΄λΈλ¬λ¦¬μ
λλ€.
νμ§λ§ μ΄λ κ² λ§ν΄λ μμ§ κ°μ΄ μ μ¬ μ μμ΄μ. κ·Έλμ μ°¨κ·Όμ°¨κ·Ό νμ΄λ³Όκ²μ.
π μΉμ¬μ΄νΈλ μ΄λ»κ² λμν κΉ?
μΉμ¬μ΄νΈλ κΈ°λ³Έμ μΌλ‘ μλμ κ°μ νλ¦μΌλ‘ λμν΄μ:
- μ¬μ©μκ° λ²νΌμ λλ₯Έλ€
- νλ©΄μ μ΄λ€ λ΄μ©μ΄ λ°λλ€
- μ΄κ±Έ μν΄ HTML/CSS/JavaScriptκ° νλ ₯νλ€
μ¬κΈ°μ λ¬Έμ κ° μκΉλλ€.
- λ²νΌμ λλ₯Ό λλ§λ€ νλ©΄μ μ§μ μ‘°μ(DOM μ‘°μ) ν΄μΌ ν΄μ.
- μνκ° λ§μμ§μλ‘ μ½λκ° λ³΅μ‘ν΄μ§κ³ μ€μνκΈ° μ¬μμ.
π μ ν΅μ μΈ λ°©μ
- μ¬μ©μκ° λ²νΌμ λλ¦
- JavaScriptκ° μ§μ
<div>μ ν μ€νΈλ₯Ό λ°κΏμ€ - μ¬λ¬ κ°μ μνλ₯Ό μΌμΌμ΄ μΆμ ν΄μΌ ν¨
π κ·Έλμ λμ¨ κ² λ¦¬μ‘νΈ!
리μ‘νΈλ μ΄κ±Έ ν¨μ¬ κΉλνκ³ ν¨μ¨μ μΌλ‘ μ²λ¦¬ν μ μκ² ν΄μ€μ.
- λ°μ΄ν°(state)κ° λ°λλ©΄
- 리μ‘νΈκ° μλμΌλ‘ UIλ₯Ό λ€μ κ·Έλ €μ€μ
βλ°μ΄ν° μ€μ¬βμΌλ‘ UIλ₯Ό λ§λλ λ°©μμ΄λΌκ³ μκ°νλ©΄ λΌμ.
π λΉμ λ‘ μ΄ν΄ν΄λ³΄μ
리μ‘νΈλ₯Ό μ²μ λ°°μ°λ μ¬λμκ² κ°μ₯ μ’μ λΉμ λ βμλ κ³μ°κΈ°βμμ.
- κ³μ°κΈ°μ μ«μλ₯Ό μ λ ₯νλ©΄ μλμΌλ‘ κ²°κ³Όκ° κ°±μ λμ£ ?
- μ°λ¦¬κ° λ²νΌμ λλ₯Ό λλ§λ€ κ²°κ³Όλ₯Ό λ€μ κ³μ°ν νμλ μμ΄μ.
- 리μ‘νΈλ νλ©΄λ μ΄λ κ² μλμΌλ‘ λ€μ κ³μ°ν΄μ£Όλ λꡬμμ.
𧩠리μ‘νΈμ ν΅μ¬ μμ 3κ°μ§
리μ‘νΈλ ν¬κ² μλ 3κ°μ§λ‘ ꡬμ±λΌμ:
| μμ | μ€λͺ |
|---|---|
| μ»΄ν¬λνΈ (Component) | μ¬μ¬μ© κ°λ₯ν UI μ‘°κ° |
| μν (State) | λ³ν μ μλ λ°μ΄ν° |
| λ λλ§ (Rendering) | λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘ νλ©΄μ 그리λ μΌ |
π¦ κ°λ¨ν μμ μ½λ
function Welcome() {
return <h1>μλ
νμΈμ, React!</h1>;
}
μ΄κ±΄ βWelcomeβμ΄λΌλ μ΄λ¦μ μ»΄ν¬λνΈλ₯Ό μ μν κ±°μμ.<Welcome />μ΄λΌκ³ μ°λ©΄ νλ©΄μ βμλ
νμΈμ, React!βκ° λνλμ£ .
π λ§μΉ λ΄κ° HTML νκ·Έλ₯Ό μλ‘ λ§λ κ²μ²λΌ μΈ μ μμ΄μ.
- μ¬μ©μ μ λ ₯ β
- μν(state)κ° λ°λ β
- 리μ‘νΈκ° μλ‘μ΄ UIλ₯Ό κ³μ° β
- νλ©΄μ΄ μλμΌλ‘ μ λ°μ΄νΈλ¨
μ΄ λͺ¨λ κ±Έ 리μ‘νΈκ° μλμΌλ‘ ν΄μ£Όλ κ² ν΅μ¬μ΄μμ.
β μ 리
- 리μ‘νΈλ λ°μ΄ν° μ€μ¬μΌλ‘ UIλ₯Ό λ§λλ λꡬμμ.
- 볡μ‘ν νλ©΄λ λ μμΈ‘ κ°λ₯νκ³ ν¨μ¨μ μΌλ‘ λ§λ€ μ μμ΄μ.
- μ»΄ν¬λνΈμ μνλ₯Ό κΈ°λ°μΌλ‘ μλνλ©°, λ³νμ λ°λΌ UIλ₯Ό λ€μ κ·Έλ €μ€μ.