[React] useRef

솔방울·2022년 8월 23일
0

React.js

목록 보기
1/6
post-custom-banner

const refContainer = useRef(initialValue);

useRef는 .current 프로퍼티로 전달된 인자(initialValue)로 초기화된 변경 가능한 ref 객체를 반환합니다. 반환된 객체는 컴포넌트의 전 생애주기를 통해 유지될 것입니다.
https://ko.reactjs.org/docs/hooks-reference.html#useref

JS에서는 DOM 요소를 class나 id이름을 queryselector나 getElementsBy로 가져왔던 것에 비해 , React에서는 useRef라는 hook을 사용한다.

우선 useState와 마찬가지로 useRef를 import 한 후,

import React, { useRef } from "react";

가져오고자 하는 요소의 이름을 직관적으로 알 수 있는 useRef 객체를 생성한다.

const diaryInputTitle = useRef();

그리고 해당 요소의 속성(attribute)에 ref={(useRef 할당한 변수 이름)}을 추가한다.

<input name="author" onChange={stateUpdate} ref={diaryTitleInput} />

useRef의 객체는 .current라는 속성의 컨테이너 정도로 이해하면 된다. 즉, current는 ref 속성을 건 요소 그 바로 자체이다. 만약 포커스를 주고 싶다면,

    if ( 조건~ ) {
      diaryTitleInput.current.focus();
      return;
    }

다음과 같이 어떤 조건을 만족시켰을 때, 해당 부분으로 포커스가 가도록 설정할 수 있다.

profile
당신이 본 큰 소나무도 원래 작은 솔방울에 불과했다.
post-custom-banner

0개의 댓글