-
Notifications
You must be signed in to change notification settings - Fork 10
Redux and Architecture
Heesun Kim edited this page Nov 13, 2019
·
3 revisions
- reduxλ fluxμ ꡬν체μ΄λ€. [flux]
- Single Source of Truth (λ¨ νλμ μ§μ€μ κ·Όμ)
- State is read-only (Stateλ μ½κΈ°μ μ©μ΄λ€)
- Changes are made with Pure Functions (λ³νλ μμ ν¨μλ‘ λ§λ€μ΄μ ΈμΌ νλ€)
-
μ‘μ
(Action)
- λ³νκ° νμν λ, μ°λ¦¬λ μ‘μ μ΄λ κ²μ λ°μμν¨λ€.
- μ‘μ κ°μ²΄λ type νλλ₯Ό νμμ μΌλ‘ κ°μ§κ³ μμ΄μΌνλ€.
-
μ‘μ
μμ±ν¨μ (Action Creator)
- νλΌλ―Έν°λ₯Ό λ°μμμ μ‘μ κ°μ²΄ ννλ‘ λ§λ€μ΄μ€λ€.
-
리λμ (Reducer)
- 리λμλ λκ°μ§μ νλΌλ―Έν°(state, action)λ₯Ό λ°μμ¨λ€.
- 리λμλ, νμ¬μ μνμ, μ λ¬ λ°μ μ‘μ μ μ°Έκ³ νμ¬ μλ‘μ΄ μνλ₯Ό λ§λ€μ΄μ λ°ννλ€.
-
μ€ν μ΄ (Store)
- μ€ν μ΄ μμλ, νμ¬μ μ± μνμ, 리λμκ° λ€μ΄κ°μκ³ , μΆκ°μ μΌλ‘ λͺκ°μ§ λ΄μ₯ ν¨μλ€μ΄ μλ€.
-
λμ€ν¨μΉ (dispatch)
- λμ€ν¨μΉλ, μ‘μ μ λ°μ μν€λ κ²μ΄λ€. dispatch λΌλ ν¨μμλ μ‘μ μ νλΌλ―Έν°λ‘ μ λ¬νλ€.
- κ·Έλ κ² νΈμΆμ νλ©΄, μ€ν μ΄λ 리λμ ν¨μλ₯Ό μ€νμμΌμ ν΄λΉ μ‘μ μ μ²λ¦¬νλ λ‘μ§μ΄ μλ€λ©΄ μ‘μ μ μ°Έκ³ νμ¬ μλ‘μ΄ μνλ₯Ό λ§λ€μ΄μ€λ€.
- λ³΄ν΅ reduxλ₯Ό μΈ λ, μλμ κ°μ ꡬ쑰λ₯Ό μΆμ²νλ κ² κ°λ€.
.
βββ public
βββ src
βββ component
βββ action
βββ reducer
βββ store
-
action ν΄λ
- API ν΅μ κ³Ό κ°μ μμ μ νλ μ‘μ λ©μλ(action creator)λ₯Ό λͺ¨μ λ ν΄λ
- μ‘μ λ©μλμμλ 리λμ(reducer)λ‘ λ°μ΄ν° μμ±μ μμ²νλ€.
-
component ν΄λ
- React μ»΄ν¬λνΈλ‘ ꡬμ±λ ν΄λλ€. μ»΄ν¬λνΈλ λ³΄ν΅ λλ©μΈλ³λ‘ ꡬλΆλΌ μλ€.
-
reducer ν΄λ
- 리λμλ μ‘μ λ©μλμμ λ³κ²½ν μνλ₯Ό λ°μ κΈ°μ‘΄μ μνλ₯Ό μλ‘μ΄ μνλ‘ λ³κ²½νλ μΌμ νλ€.
-
store ν΄λ
- storeν΄λμλ index.js νμΌ νλλ§ μμΌλ©°, μ£Όλ‘ λ―Έλ€μ¨μ΄λ₯Ό μ€μ νλ μΌμ νλ€.
μ°Έκ³ λ§ν¬: Reduxλ‘μ μΉ΄ν° μλ΄μ - bestalignβs dev blog