230425(ν)
π μ±μ₯μΌμ§ 4.0
μ±
ν볡ν μ΄κΈ°μ£Όμμ(μ¨μΈ λ€μ΄μ΄)
μ λ΄μ©μ μκ·Ήλ°μ μμνλ μλ°ν μ±μ₯κΈ°λ‘
μ΄μμλ κ½κ³Ό μ£½μ κ½μ μ΄λ»κ² ꡬλ³νλκ°?
μ±μ₯νκ³ μλ κ²μ΄ μ΄μ μλ κ²μ΄λ€.
μλͺ μ μ μΌν μ¦κ±°λ μ±μ₯μ΄λ€!
π³ (1.0)ν€μλ
μ΅λν κ°λ¨νκ² μ 리, μΆνμ 보면μ μ€μ€λ‘ μ€λͺ
π (2.0)κ²½ν μμ£Όλ‘
λ¨μ μ 보λ₯Ό μ λ¬νκΈ°λ³΄λ€ λ¬΄μμ λ°°μ κ³ μ΄λ»κ² ν΄κ²°νλμ§ μ§§κ³ κ°λ¨νκ² μμ±
βοΈ (3.0)μ ν΄μ§ ν νλ¦Ώμ λ§μΆ°μ
ν€μλ, κ²½ν λͺ¨λ μ’λ€. λ€λ§ λ§€μΌ μμ±νκΈ°λ‘ λ§μ λ¨Ήμλ§νΌ ν΅μ¬λ§ κ°κ²°νκ² μ 리ν μ μκ² ν νλ¦Ώμ μμ±
(3.1)230102λΆν° μμλλ νμ΅μ κ΄ν λ΄μ© μΆκ°
(3.2)230313λΆν° μ’λ κ²½ν, κ°μ μμ£Όμ λ΄μ©λ λ΄κΈ°!
πΎ (4.0)νμ΅ ν€μλμμ μ΅λν κ°λ¨ν μ 보 μ 곡, κ³ λ―Όμμ λ΄ κ²½νμ μμΈν μ μ!
π§ κ³ λ―Ό μ¬ν
π μ€λμ νμ΅ ν€μλ
- νΉλ³ κ°μ, 리μ‘νΈ
π₯³ νμ΅ λ΄μ©
Q. μ’μ κ°λ°μλ?
μ΄λ¦° λ§μμ κ°κ³ νμ΅ μλκ° λΉ λ₯Έ μ¬λ ν νλ¬Έμ λΉν΄μ μ»΄ν¨ν° 곡νμͺ½μ μλ‘μ΄ κ² λ무 빨리 λμ¨λ€. κ·Έλ κΈ° λλ¬Έμ μ΄λ₯Ό λΉ λ₯΄κ² λ°°μΈ μ μλ μ¬λμ΄ μ’μ κ°λ°μλΌκ³ μκ°νλ€. λμ΄ λ§μ΄ μμ§μ΄κ³ μ¬νμ μν₯λ ν¬κΈ° λλ¬Έμ λΉ λ₯΄κ² λμ μμΌλ‘ λ³Ό μ μλ μ¬λμ΄ μ’μ κ°λ°μκ° λ μ μμ§ μμκΉ.
Q. μ£Όλμ΄ κ°λ°μκ° κ°μΆλ©΄ μ’μ μλ?
- λͺ¨λ₯΄λ©΄ μ§λ¬Έμ μ’ ν΄λΌ
- κ²μμ λ¨Όμ μ’ ν΄λ³΄κ³
- μ°©νμΌλ©΄ μ’κ² λ€.
- λ§μ μ νμΌλ©΄ μ’κ² λ€. λ§νκΈ°, κΈμ°κΈ°, λ£κΈ°, μ½κΈ°
- 건κ°νμΌλ©΄ μ’κ² λ€.
- μ½λ©μ κΈ°λ³Έμ΄λ€.
λ¨, μ§κΈ λΉμ₯ μ½λ©μ μνλ κ²μ μκ°λ³΄λ€ μ€μνμ§ μλ€. νμ¬λ§λ€, νλ§λ€, μ§λ¨λ§λ€ κ·Έ μ μ₯μ λ°λΌ λ€λ₯΄μ§λ§ μ½λ©μ λ무 μνλ κ²λ λ¬Έμ λͺ»νλ κ²λ λ¬Έμ λ€. μ§κΈ λΉμ₯ μ½λ©μ μνλ κ²λ³΄λ€ μ±μ₯ν μ μλ μ¬λ!
λ©±λ±μ±
- f(x) = f(f(x))
- ex) ν΅μ₯μ μ κΈμν€λ λ‘μ§
- μ¬λ¬λ² μ€νλμ΄λ 1λ²λ§ μ€νλκ²!
κ²°μ λ‘ μ
function foo(a) {
return Math.random();
}
let b = 5;
function foo(a) {
b += 1;
return b;
}
μμ ν¨μλ€μ λΉκ²°μ λ‘ μ μ΄λ€. νΈμΆ λλ§λ€ λ€λ₯Έ κ°μ΄ λμ¨λ€. μ¦, κ²°μ λ‘ μ μΈ μ½λλ μ΄μ νλ , μ€λνλ , λ΄μΌνλ κ°μ κ²°κ³Όκ° λμ¨λ€. ν μ€νΈνκΈ° μ’μμ§λ€. ν μ€νΈκ° κ°λ₯ν΄μ§κ³ ν μ€νΈκ° μκ²°ν΄μ§λ€. λν μ½λλ₯Ό 보기λ κ΅μ₯ν μ¬μμ§λ€.
flux ν¨ν΄μμλ μ΄μ κ°μ κ±Έ μν κ²μ΄λ€. reducerλ₯Ό μμν¨μλ‘ λ§λ€μ!! 볡μ‘νκ² μ°κ²°λ κ²μ΄ μλλΌ μμ£Ό κ°λ¨ν in, μμ£Ό κ°λ¨ν outμ λ§λ€μ! λ©±λ±μ±κ³Ό κ²°μ λ‘ μ μΈ ν¨μ. λ¬Όλ‘ μ΄κ±Έ λ€ μ§ν¬ μ μλ 건 μλλ€. μ΄ν리μΌμ΄μ μ λ°λΌμ λΉκ²°μ λ‘ μ μ΄κΈ΄ νλ€.
flux ν¨ν΄
dispatch λ reducerλ‘ μ‘μ μ λν΄μ μλ‘μ΄ stateλ₯Ό λ§λ€κ³ μλ‘μ΄ μ λ₯Ό λ§λ€μ΄μ λ£μ΄μ€λ€. κ·Έλ¦¬κ³ κΈ°μ‘΄ μ λ μ§μμ€λ€.
νμ¬κ° μ λμκ°κ³ μλ€. ceoκ° μλ‘ μλ€. κ·Έ ceoκ° μνλ λͺ¨μ΅μΌλ‘ μΈν μ ν΄λ¬λΌκ³ νλ€.
- μλ μ¬λλ€μ μνλλλ‘ μ¬λ°°μΉνκ³ λ°κΎΌλ€.
- Statefulν λ°©μ
- μ¬νμ©μ μ΄μ
- 볡μ‘νλ€.
- μμ μλ‘μ΄ μ¬λλ€μ λ½λλ€.
- Statelessν λ°©μ
- μ¬νμ©ν μ μλ€.
- κ·Έλ₯ λ€ λ°μ΄λ²λ¦¬κ³ μλ‘ μ±μ°λκΉ κΉλνλ€.
2λ²μ΄ κΉλνμ§λ§, 2λ²μ λΉμ©μ΄ λ§μ΄ λ λ€. μ¬μ§μ΄ μμ£Ό μ‘°κΈλ§ λ°κΎΈλκ±΄λ° 2λ²μΌλ‘ νλ 건 λΉν¨μ¨μ μ΄λ€.
μμ μμμμ 리μ‘νΈμ κ²½μ°λ μλμ κ°λ€.
μ΄μ μ stateμ λν κ°μ dom treeμ μλ‘μ΄ stateμ λ°λ₯Έ κ°μ dom treeλ₯Ό λ§λ λ€μ λ³κ²½ μ¬νμ λΉκ΅ν΄μ λ³κ²½λ λΆλΆμ λν΄μλ§ λ³νμ μΌμΌν¨λ€.
μμ ceo μμλ₯Ό λ λ€λ©΄, κΈ°μ‘΄μ νμ¬ λͺ¨μ΅μ κ°μμΌλ‘ λκ³ μλ‘κ² μνλ νμ¬μ λͺ¨μ΅μ κ°μμΌλ‘ λ§λ λ€ μ΄ 2κ°μ μλ£λ₯Ό 컨μ€ν
νμ¬μ κ°μ Έκ°μ λ³κ²½ν΄μΌλλ λΆλΆλ§ λ°κΎΈλ κ²μ΄λ€.
κ·Έ μ€κ°μ 컨μ€ν
μ ν΄μ£Όλ κ² Diff, PATCH
μ μν μ΄λ€.