React hooksμ λνμ¬
React-Hooksμ λν κΈμ λλ€.
React-Hooksμ λνμ¬ 1νΈμ λλ€.
useState()λ useEffect()μ²λΌ λ§μ΄ μ°μ§ μμ§λ§ μ μ©ν hooksκ° μμ΅λλ€. λ°λ‘ useRef()μ λλ€. μ€λμ μ΄ λ μμ μμλ³΄κ² μ΅λλ€.
React κΈ°λ³Έ μ리λΆν° μμλ³΄κ² μ΅λλ€.
κΈ°λ³Έμ μΌλ‘ λ΄λΆ μν(state)κ° λ³ν λ λ§λ€ λ€μ λ λλ§μ΄ λ©λλ€. μ‘°κΈ μ°μ°νμ§ μλμ? ν¨μκ° νΈμΆλ λλ§λ€ νλ©΄μ΄ κ°±μ λλ€λ©΄ ν¨μ λ΄λΆμ λ³μλ€μ΄ κΈ°μ‘΄μ μ μ₯νλ κ°λ κ°μ΄ μ΄κΈ°νλλ μ μ΄β¦ λ μλλ€λ μ°μμ λ°λΌ λ€μ λ λλ§λλλΌλ κΈ°μ‘΄μ μ°Έκ³ νκ³ μλ μ»΄ν¬λνΈ ν¨μ λ΄μ κ°μ΄ κ·Έλλ‘ λ³΄μ‘΄λλ κ²μ μλνκ³ μΆμ λλ μκΈ° λλ¬Έμ μ°μ°νμ§ μμμκΉ μΆμ΅λλ€.
Reactμμλ μ΄λ€ HookμΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°ν κΉμ?
useRef ν μ μ¬μ©ν΄ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€. useRef ν¨μλ μΈμλ‘ λμ΄μ¨ μ΄κΈ°κ°μ μμ±μ ν λΉνμ¬ κ°μ λ³κ²½ν΄λ μ»΄ν¬λνΈκ° λ€μ λ λλ§λμ§ μκ² ν©λλ€. μ¦, μ»΄ν¬λνΈκ° λ€μ λ λλ§λ λλ μμ±κ°μ μμ§ μμ΅λλ€.
λ λλ§μ λ°μμν€μ§ λ§μμΌ νλ κ°μ λ€λ£° λ μ λ§ νΈλ¦¬νκ² μ¬μ©ν μ μμ΅λλ€.
μμ
const nameInput = useRef();
const onClick = () => {
nameInput.current.focus();
}
return(
<input ref={nameInput} />
<button onClick={onClick}>ν΄λ¦</button>
)
κ²°κ³Ό
μΈνμ κ°μ μ λ ₯ν λ€μ ν΄λ¦ λ²νΌμ λλ¬λ ν¬μ»€μ€λ₯Ό μμ§ μκ³ , μΈνλ°μ€μ ν¬μ»€μ€κ° μ‘νλλ€.
λ΄μ© λ° μμ μ½λ ν΅μ¬ μμ½
- javascriptμμ νΉμ Domμ μ ννλ μν μ νλ€. (getElementById, querySelector λ±)
- νΉμ DOMμ μ κ·Όν λ μ¬μ©νλ€.
- μΈλΆ λΌμ΄λΈλ¬λ¦¬ μ¬μ©ν λ μ μ©νλ€.
- μνλ μμΉμ ref={} μ ννλ‘ μμ±νλ©΄ λλ€.
- ν¬μ»€μ€λ₯Ό μ‘μΌλ €λ©΄ nameInput.current.focus() ννλ‘ μμ±νλ©΄ λλ€.