Notice
Recent Posts
Recent Comments
Archives
반응형
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Total
01-23 09:15
250x250
관리 메뉴

꿈꾸는 개발자의 블로그

[React] Typescript + useRef (Forwarding Refs) : HTMLInputElement 요소 받아오기 본문

Programming/React

[React] Typescript + useRef (Forwarding Refs) : HTMLInputElement 요소 받아오기

aldrn29 2022. 6. 29. 02:02

리액트에서는 되도록 돔탐색을 하지 않는 것이 좋다고 한다. 그래서 useRef를 사용해보았다. 전달하는 대상이 Html 엘리먼트가 아닌 컴포넌트 타입이라면 ref를 전달하기 위해 아래와 같이 사용하는 것이 좋겠다!

 


 

useRef : HTMLInputElement 요소 받아오기

  1. import useRef 
  2. React ref를 생성하고 ref 변수에 할당
  3. ref를 JSX 속성으로 지정해서 ref={ref}으로 전달

이러한 과정을 거치면,  ref.current DOM 노드를 가리키게 된다!!

 

 

이전 코드

더보기
import React from "react";

const Test = () => {
    const handleScroll = () => {
        const screenHeight = document.querySelector("#intro").clientHeight;
        ...
    }

    return (
    	<div id="intro">
    )
}

export default Test;

 

수정한 코드

import React, { useRef } from "react";

const Test = () => {
    const ref = useRef<HTMLInputElement>();

    const handleScroll = () => {
        const screenHeight = ref.current.clientHeight;
        ...
    }

    return (
    	<div ref={ref}>
    )
}

export default Test;

 

참고 문서

https://ko.reactjs.org/docs/forwarding-refs.html

 

Forwarding Refs – React

A JavaScript library for building user interfaces

ko.reactjs.org

 

728x90
728x90
Comments