Develop/React.js

[React] useRef

dawonny 2023. 5. 10. 09:21
728x90
반응형

useRef 란

useRef는 React에서 제공하는 Hook 함수 중 하나로, 일반적으로 DOM 요소를 선택하거나 컴포넌트에서 변경 가능한 값을 저장하는 데 사용된다.

 

예시

예를 들어, useRef를 사용하여 DOM 요소를 선택하는 경우 다음과 같이 코드를 작성할 수 있다.

import React, { useRef, useEffect } from 'react';

function Example() {
  const inputRef = useRef(null);

  useEffect(() => {
    inputRef.current.focus();
  }, []);

  return <input type="text" ref={inputRef} />;
}

위의 코드에서 useRef를 사용하여 input 요소를 선택하고, useEffect를 사용하여 컴포넌트가 마운트될 때 input 요소에 자동으로 포커스가 되도록 설정한다.

 

또한, useRef를 사용하여 컴포넌트에서 변경 가능한 값을 저장할 수도 있다.

이전 렌더링 값과 다음 렌더링 값을 비교하려는 경우에 사용할 수 있다.

import React, { useState, useRef } from 'react';

function Example() {
  const [count, setCount] = useState(0);
  const prevCountRef = useRef();

  // 이전 렌더링 값과 다음 렌더링 값을 비교합니다.
  if (prevCountRef.current !== count) {
    console.log('Count changed:', count);
    prevCountRef.current = count;
  }

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>+</button>
    </div>
  );
}

위의 코드에서 useRef를 사용하여 이전 렌더링 값(prevCountRef.current)을 저장하고,

useState를 사용하여 상태 값(count)을 관리한다.

 

count 값이 변경될 때마다 prevCountRef.current 값과 비교하여 변경되었는지 확인하고, 변경된 경우 로그를 출력한다.

728x90
반응형