230417(μ)
π μ±μ₯μΌμ§ 4.0
μ±
ν볡ν μ΄κΈ°μ£Όμμ(μ¨μΈ λ€μ΄μ΄)
μ λ΄μ©μ μκ·Ήλ°μ μμνλ μλ°ν μ±μ₯κΈ°λ‘
μ΄μμλ κ½κ³Ό μ£½μ κ½μ μ΄λ»κ² ꡬλ³νλκ°?
μ±μ₯νκ³ μλ κ²μ΄ μ΄μ μλ κ²μ΄λ€.
μλͺ μ μ μΌν μ¦κ±°λ μ±μ₯μ΄λ€!
π³ (1.0)ν€μλ
μ΅λν κ°λ¨νκ² μ 리, μΆνμ 보면μ μ€μ€λ‘ μ€λͺ
π (2.0)κ²½ν μμ£Όλ‘
λ¨μ μ 보λ₯Ό μ λ¬νκΈ°λ³΄λ€ λ¬΄μμ λ°°μ κ³ μ΄λ»κ² ν΄κ²°νλμ§ μ§§κ³ κ°λ¨νκ² μμ±
βοΈ (3.0)μ ν΄μ§ ν νλ¦Ώμ λ§μΆ°μ
ν€μλ, κ²½ν λͺ¨λ μ’λ€. λ€λ§ λ§€μΌ μμ±νκΈ°λ‘ λ§μ λ¨Ήμλ§νΌ ν΅μ¬λ§ κ°κ²°νκ² μ 리ν μ μκ² ν νλ¦Ώμ μμ±
(3.1)230102λΆν° μμλλ νμ΅μ κ΄ν λ΄μ© μΆκ°
(3.2)230313λΆν° μ’λ κ²½ν, κ°μ μμ£Όμ λ΄μ©λ λ΄κΈ°!
πΎ (4.0)νμ΅ ν€μλμμ μ΅λν κ°λ¨ν μ 보 μ 곡, κ³ λ―Όμμ λ΄ κ²½νμ μμΈν μ μ!
π μ€λμ νμ΅ ν€μλ
- λ λλ§
- μμ μ»΄ν¬λνΈ κ° μνμ λ¬
1. λ λλ§ μ λμΌν htmlμ ν λΉνκ³ λ€μ μ΄λ²€νΈλ₯Ό λΆμ΄λ μμΌλ‘ ν΄μ setStateκ° μΌμ΄λ λλ§λ€ λ λλ§μ΄ μΌμ΄λκ² νμ΄μΌνλ..?
μ¬μ€ μ΄ λ°©λ²μΌλ‘ νλ €λ€κ° template νκ·Έλ₯Ό μ¬μ©νλ©΄μ innerHTMLλ‘λ μμ htmlλ§ κ°μ Έμ¬ μ μκ² λμ΄ μ΄λ κ² νμ§ μμλ€. κ·Έλ¬λ€ outerHTMLμ΄λΌλ κ² μλ€λ κ±Έ μκ² λμ΄μβ¦ λ€μμ λ°λλΌλ‘ μ΄λ° λ λλ§μ ꡬνν μΌμ΄ μκΈ΄λ€λ©΄ setState λλ§λ€ λ€μ htmlμ ν λΉνκ³ μ΄λ²€νΈλ€μ λΆμ¬μ£Όλ μμΌλ‘ μ§νν΄λ΄μΌκ² λ€. μ§κΈ λ³κ²½νμλ λ무 λ§μ λ‘μ§λ€μ μμ΄ κ°μΌνλ€ π₯Ί(νΉμ λ―Έμ mvp ꡬν νμ 리ν©ν λ§νλ μμΌλ‘ ν΄λ³΄μ)
2. μμ μ»΄ν¬λνΈ κ° μνμ λ¬
μ λ²μ κ³μ κ³ λ―Όνκ³ κ³ λ―Όνλ λΆλΆβ¦ μ£Όλ§λμμλ μ΄ λΆλΆ λλ¬Έμ λ΄λ΄ κ³ λ―Όνλ€. μΌλ¨μ μ§κΈ νμ¬ μ½λμμ render()κ° λ λλ§λ€ μλ‘μ΄ htmlμ ν λΉνμ§λ μμΌλ μ λ¬νκ³ μΆμ stateλ₯Ό λΆλͺ¨μ stateλ‘ λΉΌμ€ λ€μ, κ·Έ stateλ₯Ό λ³κ²½νλ μ΄λ²€νΈ νΈλ€λ¬λ₯Ό μλ‘ μνλ₯Ό λ³κ²½νκΈΈ μνλ μμ μ»΄ν¬λνΈμκ² μ λ¬νλ€. κ·Έλ¬κ³ λμ μ΄λ²€νΈμ λ°λΌ μ λ¬λ°μ setStateλ‘ λΆλͺ¨μ μνλ₯Ό λ°κΏμ£Όκ³ λΆλͺ¨μ viewμμ μμ μ»΄ν¬λνΈλ€μ λ³κ²½μμΌμ£Όλ λ‘μ§μ μμ±νμ¬ ν΄κ²°νλ€. μ΄κ² elementλ₯Ό κ·Έλλ‘ μ μ§νλ€λ μ₯μ μ΄ μμ§λ§, setStateλλ§λ€ μλ‘μ΄ htmlμ΄ λ λλ§λκ³ λ³κ²½μ¬νμ΄ μ μ©λλ 리μ‘νΈμλ μ‘°κΈμ λ€λ₯Έ λͺ¨μ΅κ°μμ μμ½λ€. λ€μμλ render() μ λμΌν htmlμ ν λΉνκ³ μ΄λ²€νΈλ₯Ό λΆμ΄λ ν¨μλ€λ μ€νν¨μΌλ‘μ¨ μ λ§ λ¦¬μ‘νΈμ²λΌ state λ³κ²½ μλ§λ€ μμμ λͺ¨λ domμ΄ λ λλ§λκ² κ΅¬νν΄λ΄μΌκ² λ€.