-
Notifications
You must be signed in to change notification settings - Fork 5
Redux
gyim1345 edited this page Nov 23, 2020
·
9 revisions
리λμ€
μ₯μ
- μ»΄ν¬λνΈ μ½λλ‘ λΆν° μν κ΄λ¦¬ μ½λλ₯Ό λΆλ¦¬ν μ μλ€.
- μλ² λ λλ§ μ λ°μ΄ν° μ λ¬μ΄ κ°νΈνλ€.
- λ‘컬 μ€ν 리μ§μ λ°μ΄ν°λ₯Ό μ μ₯νκ³ λΆλ¬μ€λ μ½λλ₯Ό μ½κ² μμ±ν μ μλ€.
- κ°μ μν―κ°μ λ€μμ μ»΄ν¬λνΈμμ νμ¬γ λ‘ ν λ μ’λ€.
- λΆλͺ¨ μ»΄ν¬λνΈμμ κΉμ κ³³μμ μλ μμ μ»΄ν¬λνΈμ μν―κ°μ μ λ¬ ν λ μ’λ€
- μλ¦Όμ°½κ³Ό κ°μ μ μ μ»΄ν¬λνΈμ μν―κ°μ κ΄λ¦¬ν λ μ’λ€.
- νμ΄μ§κ° μ νλμ΄λ λ°μ΄ν°λ μ΄μ μμ΄μΌ ν λ μ’λ€.
μμΉ
- μ 체 μν―κ°μ νλμ κ°μ²΄μ μ μ₯νλ€
- μν―κ°μ λΆλ³ κ°μ²΄λ€
- μν―κ°μ μμ ν¨μμ μν΄μλ§ λ³κ²½λμ΄μΌ νλ€.
ꡬμ±
- μ‘μ
- λ―Έλ€μ¨μ΄
- 리λμ
- μ€ν μ΄
- type μμ±κ°μ κ°μ§ js κ°μ²΄.
- action κ°μ²΄λ₯Ό dispatch λ©μλμ λ£μ΄μ νΈμΆνλ©΄ 리λμ€λ μν―κ°μ λ³κ²½νκΈ° μν΄ μ κ·Έλ¦Ό μ²λΌ μννλ€.
store.dispatch({ type: 'ADD', title: 'νμ΄ν μΆκ°ν λ΄μ©', priority:'high'})- 리λμκ° μ‘μ μ μ²λ¦¬νκΈ° μ μ μ€νλλ ν¨μλ€.
- λλ²κΉ λͺ©μ μΌλ‘ μν―κ° λ³κ²½ μ λ‘κ·Έλ₯Ό μΆλ ₯νκ±°λ, 리λμμμ λ°μν μμΈλ₯Ό μλ²λ‘ μ μ‘νλ λ±μ λͺ©μ μΌλ‘ νμ© νλ€.
const middleware = store => next => action => next(action)- 리λμ€μ μν―κ°μ κ°μ§λ κ°μ²΄λ€.
- μ‘μ μ λ°μμ μ€ν μ΄μ dispatch λ©μλλ‘ μμλλ€
- μ€ν μ΄λ μ‘μ μ΄ λ°μνλ©΄ λ―Έλ€μ¨μ΄ ν¨μλ₯Ό μ€ννκ³ , 리λμλ₯Ό μ€νν΄μ μν―κ°μ μλ‘μ΄ κ°μΌλ‘ λ³κ²½νλ€.
const INITIAL_STATE = { value: 0};
const reducer = createReducer(INITIAL_STATE, {
INCREMENT: state => (state.value +=1),
});
const store = createStore(reducer);- 리λμ μμμ λΉλκΈ°λ₯Ό νκ² λλ©΄ 3λ² μμΉμΈ 'μν―κ°μ μμ ν¨μμ μν΄μλ§ λ³κ²½λμ΄μΌ νλ€.' μλ°°λλ€. κ·Έλμ middlewareμμ μ²λ¦¬ νλλ° μ΄λ ν¨ν€μ§λ₯Ό μ΄λ€.
- redux-thunk, redux-observable, redux-saga
μΆμ²: μ€μ 리μ‘νΈ νλ‘κ·Έλλ°, μ΄μ¬μΉ, μΈμ¬μ΄νΈ(2020), pg 249~308