React
μ»΄ν¬λνΈμ νμ¬ μν©μ λν μ 보λ₯Ό λνλ΄κΈ° μν΄ React
μμ μ¬μ©νλ μΌλ° Javascript
κ°μ²΄μ΄λ€. state
λ ν¨μμ μ μΈλ λ³μμ λ§μ°¬κ°μ§λ‘ κ΅¬μ± μμμμ κ΄λ¦¬λμ§λ§ μ°¨μ΄μ μ "μ μ"λ³μλ ν¨μκ° μ’
λ£λ λ "μ¬λΌμ§λ" λ°λ©΄,state
λ React
μ μν΄ λ³΄μ‘΄λλ€.
props
"μμ±"μ μ€μλ§μ΄λ©° state
λ λ€ μΌλ° Javascript κ°μ²΄μ΄λ€. λλ€ λ λμ μΆλ ₯μ μν₯μ λ―ΈμΉλ μ 보λ₯Ό 보μ νκ³ μμ§λ§ ν κ°μ§ λ°©μμμ λ€λ₯΄λ€. ꡬμ±μμμ props
μ λ¬ λλ(ν¨μ 맀κ°λ³μμ μ μ¬) λ°λ©΄ κ΅¬μ± μμ λ΄ state
μμ κ΄λ¦¬ λλ€.(ν¨μ λ΄μμ μ μΈλ λ³μμ μ μ¬)
const
λ‘ μ μΈμ νκ²λλ©΄ λ³μμ κ°μ λ°κΏ μ μλ€λ μ¬μ€μ μκ²μ΄λ€. κ·Όλ° μ state
κ°μ κ³μ λ°λλλ° μ let
μ΄ μλ const
λ‘ μ μΈνλκ°.
state
λ μΌλ° λ³μμ λ¬λ¦¬ setState
ν¨μλ₯Ό μ΄μ©νμ¬ κ°μ λ³κ²½νλ€.(μ΄λ κ² ν¨μ λ΄λΆμ λ³μκ° ν¨μ μλͺ
μ΄ λλλλΌλ, λ³μμ μ°Έμ‘°κ° κ³μ λλ€λ©΄ κ·Έ λ³μμ μλͺ
μ κ³μ λλ€.)
κ·Έλ¬λ let
μ μ¬μ©νκ² λλ©΄ conuter=100
κ³Ό κ°μ λ³μνμμ΄ ν λΉμ΄ κ°λ₯ν΄μ§λ€.
λ°λΌμ μ΄λ₯Ό λ°©μ§νκ³ setState
λ₯Ό μ¬μ©ν λ³μ λ³κ²½λ§ νλ½νκΈ° μν΄ const
λ‘ μ μΈνλ€.
μ΄λ²€νΈ νΈλ€λ¬, μλ² μλ΅ λλ μν λ³κ²½μ λν μλ΅μΌλ‘ μνλ₯Ό μ
λ°μ΄νΈν μ μλ€. μ΄κ²μ setState()
λ©μλλ₯Ό μ¬μ©νμ¬ μνλλ€. setState()
λ©μλλ κ΅¬μ± μμ μνμ λν λͺ¨λ μ
λ°μ΄νΈλ₯Ό λκΈ°μ΄μ λ£κ³ React
μ μ
λ°μ΄νΈλ μνλ‘ κ΅¬μ± μμμ κ·Έ μμμ λ€μ λ λλ§ νλλ‘ μ§μνλ€.
νμ setState()
λ©μλλ₯Ό μ¬μ©νμ¬ μν κ°μ²΄λ₯Ό λ³κ²½νλ€. κ΅¬μ± μμκ° μ
λ°μ΄νΈ λμμμ μλ¦¬κ³ render()
λ©μλλ₯Ό νΈμΆνκΈ° λλ¬Έμ΄λ€.
function App() {
const [counter, setCounter] = useState(0); //state
const increase =()=>{
setCounter(counter+1);
};
return (
<div>
<div>{counter}</div>
<button onClick={increase}>ν΄λ¦!</button>
</div>
);
}
};
μ μ½λλ μ½κ² μ€λͺ
νλ©΄ λ€μκ³Ό κ°λ€. const [μ μ©, λ³κ²½ν λ΄μ©]
μ΄λ€. μ μ½λ λ΄μ©μ 리뷰νλ©΄ const [counter, setCounter] = useState(0);
μ²μμ counterμ stateκ°μ 0μΌλ‘ μ§μ νλ€. let counter = 0
κ³Ό κ°λ€.
<button onClick={increase}>ν΄λ¦!</button>
μ ν΄λ¦νλ©΄ const increase =()=>{ setCounter(counter+1); };
ν¨μκ° μ€νλκ³ , <div>{counter}</div>
counterκ° λ°λλλ° counterκ° λ°λλ©΄μ stateλ₯Ό μ¬μ©νκΈ° λλ¬Έμ μλμΌλ‘ HTMLμ λλλ§μ΄ λΌ UIκ° λ³κ²½λλ κ²μ΄λ€.