π 리μ‘νΈ Hooks
- 리μ‘νΈμμ ν΄λμ€ν μ»΄ν¬λνΈμ ν¨μν μ»΄ν¬λνΈκ° μμ΅λλ€. κ·Έ μ€μ Hooksλ ν¨μν μ»΄ν¬λνΈμμ μ¬μ©νλ κΈ°λ₯μ λλ€.
- Hooksλ κΈ°μ‘΄μ ν¨μν μ»΄ν¬λνΈμμ ν μ μμλ μν κ΄λ¦¬λ, λ λλ§ ν μμ μ μ€μ νλ κΈ°λ₯ λ±μ μμ μ ν μ μκ² ν΄μ€λλ€.
useEffect
useEffect
λ 리μ‘νΈ μ»΄ν¬λνΈκ° λ λλ§λ λλ§λ€ νΉμ μμ
μ μννλλ‘ μ€μ ν μ μλ Hook μ
λλ€.
ν΄λμ€ν μ»΄ν¬λνΈμ componentDidMount
μ componentDidUpdate
λ₯Ό ν©μΉ ννλ‘ λ³΄μλ 무방ν©λλ€.
useEffect
λ μ¬μ©νλ €λ©΄ importκ° νμμ
λλ€.
useEffect(() => {
console.log("λ λλ§ μλ£");
console.log({
name,
nickname,
});
});
κ°λ°μ λꡬλ₯Ό νμΈν κ²½μ°, input λμ 무μΈκ° κ°μ μ λ ₯ν λλ§λ€ 리λ λλ§ λκ³ μ½μμλ λ°λλ nameμ΄λ nickname κ°μ΄ μΆλ ₯λ κ²μ λλ€.
- useEffectμμ μ€μ ν ν¨μ λ΄μ©μ, μ»΄ν¬λνΈκ° νλ©΄μ 맨 μ²μ 리λ λλ§ λ λλ§(λ§μ΄νΈλ λ) μ€ννκ³ μ λ°μ΄νΈ λ λλ μ€ννμ§ μκ² ν κ²½μ° λ λ²μ§Έ μΈμμ λΉμ΄μλ λ°°μ΄μΈ []
useEffect(() => {
console.log("λ λλ§ μλ£. λ§μ΄νΈλ λλ§ μ€ν");
}, []);
- λ°λλ‘ νΉμ state κ°μ΄ λ³ν λλ§λ€ μμ μ μννλ €λ©΄ λ λ²μ§Έ μΈμμ [μνλͺ ]μΌλ‘ μ λ ₯νμ¬ λ£μΌλ©΄ λ©λλ€.
- μλ μ½λλ₯Ό μμ±νλ©΄ nameμ inputμ μ λ ₯ν λλ§λ€ name κ°μ΄ λ°λκ³ μ½μμ λ‘κ·Έκ° μ°ν κ²μ λλ€.
useEffect(() => {
console.log(name);
}, [name]);
- μ΄μ²λΌ useEffect ν¨μμ λ λ²μ§Έ νλΌλ―Έν° λ°°μ΄μ μ΄λ€ κ²μ λ£λλμ λ°λΌ μ€νλλ μ‘°κ±΄μ΄ λ¬λΌμ§λλ€.
μ΄ κΈμ κΉλ―Όμ€(velopert)λμ 리μ‘νΈλ₯Ό λ€λ£¨λ κΈ°μ μμ°Έμ‘° νμ¬ μμ±ν κΈμ λλ€.