π https://github.com/happypoulp/redux-tutorial/wiki
Tutorial 02 - about state and meet redux
κ°λ μ ν리μΌμ΄μ μμ μ‘μ μ 무μΈκ° λ°μνλ€λ κ²μ μλ €μ£Όμ§ μκ³ λ°μ΄ν° κ°±μ μ΄ νμνλ€λκ²λ λ§ν΄μ£Όμ§ μλλ€.
μ΄κ±΄ μ°λ¦¬ μ±μμ κ½€ ν° λ¬Έμ λ€. μ ν리μΌμ΄μ μ΄ λ μλ λμ κ·Έ λ°μ΄ν°λ μ΄λμ 보κ΄ν΄μΌν κΉ? μ΄λ»κ² λ°μ΄ν°λ₯Ό μμ ν κΉ? μ΄λ»κ² κ·Έ λ³κ²½μ¬νλ€μ λ΄ μ ν리μΌμ΄μ κ³³κ³³μ μ νμν¬κΉ?
κ·Έλμ 리λμ€κ° λμ€κ² λμλ€.
리λμ€λ βμλ°μ€ν¬λ¦½νΈ μ±μμ μ견ν μ μλ μν 컨ν μ΄λβ μ΄λ€.
μ λ¬Έμ λ€μ λ€μ μ΄ν΄λ³΄κ³ Reduxμ μ©μ΄λ‘ μκΈ°ν΄λ³΄μ. (flux μ©μ΄λ μ΄μ§ μμ):
μ ν리μΌμ΄μ μ΄ λ μλ λμ κ·Έ λ°μ΄ν°λ μ΄λμ 보κ΄ν΄μΌν κΉ?
- μνλ κ³³μ μ μ₯νλ€ (μλ°μ€ν¬λ¦½νΈ object, array, Immutable structure, β¦).
- λ°μ΄ν°λ μνλΌκ³ λΆλ €μ§λ€. μ΄κ±΄ μ°λ¦¬ μ± λ΄μ λ°μ΄ν°λ€μ΄ μκ°μ΄ μ§λ¨μ λ°λΌ μ§ννκΈ° λλ¬Έμ μ ν리μΌμ΄μ μ μνλΌκ³ μκΈ°ν΄λ 무방νλ€.
- κ·Έλ°λ° μ΄κ±Έ Reduxμ λκΈΈκ±°λ€ (Reduxλ βμν 컨ν μ΄λβ λΌκ³ νμλ€).
μ΄λ»κ² λ°μ΄ν°λ₯Ό μμ ν κΉ?
- 리λμλ₯Ό μ΄μ©νλ€ (fluxμμλ βstoresβ λΌκ³ λΆλ €μ§λ€)
- νλμ 리λμλ μ‘μ λ€μ ꡬλ νλ€.
- νλμ 리λμλ μ½κ²λ§ν΄ μ§κΈ μ ν리μΌμ΄μ μ μνμ μ‘μ μ λ°κ³ μλ‘κ² μμ λ μνλ₯Ό(μλλ©΄ λ°μλλ‘) 리ν΄νλ ν¨μλ€.
μ΄λ»κ² κ·Έ λ³κ²½μ¬νλ€μ λ΄ μ ν리μΌμ΄μ κ³³κ³³μ μ νμν¬κΉ?
- λ³κ²½μ¬νλ€μ ꡬλ νκ³ μλ ꡬλ μλ₯Ό ν΅ν΄μ.
Redux λ μ΄ λͺ¨λ κ² νλλ‘ λ¬Άμ¬μλ€. μμ½νμλ©΄, Reduxλ:
- μ ν리μΌμ΄μ μνλ₯Ό μ μ₯νκ³
- μ ν리μΌμ΄μ μνλ₯Ό μμ ν μ μλλ‘ μ‘μ μ 보λ΄λ 리λμλΌλ κ²κ³Ό
- μν κ°±μ μ ꡬλ νλ μ₯μΉλ₯Ό μ 곡νλ€.
Redux μΈμ€ν΄μ€λ μνλΌκ³ λΆλ €μ§κ³ μ΄λ κ² μμ±νλ€.
import { createStore } from 'redux'
var store = createStore()
μ μ½λλ₯Ό μ€νν΄λ³΄λ©΄, μ΄λ° μλ¬κ° λ°μνλλ°:
Error: Invariant Violation: Expected the reducer to be a function.
createStore
μ μνλ₯Ό reduceν ν¨μλ₯Ό μ λ¬ν΄μΌνλ€.
λ€μ ν΄λ³΄λ©΄
import { createStore } from 'redux'
var store = createStore(() => {})
μ΄μ μ λμνλ€β¦
λ€μ: 03_simple-reducer.md