π‘ Flux ν¨ν΄
π Flux ν¨ν΄
νμ΄μ€λΆμ΄ μ ν΅μ μΈ MVC λμμΈ ν¨ν΄μ΄ 볡μ‘ν μ ν리μΌμ΄μ
μμ μ ν©νμ§ μλ€κ³ νλ¨νμ¬ μλ‘μ΄ λμμΈ ν¨ν΄μ μκ°ν κ²μ΄ λ°λ‘
π₯ λ¬Έμ μ
μ ν리μΌμ΄μ
κ·λͺ¨κ° 컀μ§μ λ°λΌ
μ¬μ©μμ μνΈμμ©νλ μ¬λ¬ Viewκ° μ°κ²°λ μ¬λ¬ Modelμ μ λ°μ΄νΈνκ³ Model λν μ°κ²°λ Viewλ₯Ό μ λ°μ΄νΈνλ λ§€μ° λ³΅μ‘ν μν©μ΄ λ°μνκΈ°μ λ°μ΄ν° νλ¦μ μμΈ‘νκΈ°λ λ§€μ° μ΄λ €μμ§λ€.
μ¬μ€ μ κ·Έλ¦Όμ μ ν΅μ μΈ MVC ν¨ν΄μ΄κ³ Appleμ MVC ν¨ν΄μ μ¬μ§μ²λΌ Modelκ³Ό Viewμ μλ°©ν₯ λ°μ΄ν° νλ¦μ΄ λ°μνμ§ μλλ€.
λ¬Έμ λ μλ°©ν₯ λ°μ΄ν° νλ¦μ΄λ€.
π¦ Flux μν€ν μ²
Flux ν¨ν΄μ μ±μ λ¨λ°©ν₯ λ°μ΄ν° νλ¦μ μ΄μ§νλ μμ€ν μν€ν μ²λ₯Ό λ§νλ€.
Action
μ¬μ©μμ μμ²μ μ μν κ°μ²΄λ₯Ό λ§νλ€.
- μ¬μ©μ μμ² νμ (Type)κ³Ό λ°μ΄ν°(Payload)λ₯Ό κ°μ§λ€.
- μ‘μ ν¬λ¦¬μμ΄ν°(Action Creator) ν¨μλ₯Ό μ¬μ©νμ¬ λμ€ν¨μ²λ‘ μ λ¬νλ€.
Dispatcher
λμ€ν¨μ²λ μ€μ λ°μ΄ν° νλ¦ κ΄λ¦¬νλ€. μ€ν μ΄μ λ±λ‘λ μ‘μ νμ λ§λ€ μ½λ°±λλ ν¨μκ° μ‘΄μ¬νλ€.
- μ¬μ©μ μ‘μ μΌλ‘λΆν° λ°μ μ‘μ νμ μ λ§λ μ½λ°±ν¨μλ₯Ό μ€ννλ€.
- μ€ν μ΄ λ°μ΄ν° λ³κ²½μ λμ€ν¨μ²λ₯Ό ν΅ν΄μλ§ κ°λ₯νλ€.
Store
μ€ν μ΄λ μν(Model)λ₯Ό κ΄λ¦¬νλ μ μ₯μμ΄λ©° μνλ₯Ό λ³κ²½ν μ μλ μ½λ°±μ κ°μ§λ€. κ° μ‘μ μ μ²λ¦¬νλ μ½λ°±ν¨μλ λμ€ν¨μ²μ λ±λ‘λλ€.
- μνμ μνλ₯Ό λ³κ²½νλ ν¨μλ₯Ό κ°μ§λ€.
- λμ€ν¨μ²μ λ±λ‘λ μ½λ°±ν¨μκ° μ€νλλ©΄ μ€ν μ΄μ μνκ° λ³κ²½λλ©° Viewμ λ°μ΄ν°κ° λ³κ²½λμμμ μλ¦°λ€.(μ΅μ λ² ν¨ν΄ νμ©)
View
λ·°λ μ¬μ©μμ μνΈμμ©νλ μ»΄ν¬λνΈμ΄λ€. μ€ν μ΄μμ μνκ° λ³κ²½λμλ€λ μλ¦Όμ΄ μ€λ©΄ λ·°λ 리λ λλ§μ΄ λ°μνλ€.
- μ¬μ©μλ Viewλ₯Ό μ‘°μν μ μκ³ μν λ³κ²½μ μμ²νλ μ‘μ μ μμ±ν μ μλ€.
- μμ±λ μ‘μ μ λμ€ν¨μ²μκ² μ λ¬λκ³ λμ€ν¨μ²λ ν΄λΉ μ‘μ μ μ°κ²°λ μ½λ°±μ μ€ννμ¬ μ€ν μ΄μ μνλ₯Ό λ³κ²½νλ€.
- μνκ° λ³κ²½λμμμ λ·°μκ² μλ¦¬κ³ λ·°λ 리λ λλ§μ΄ λ°μνλ€.