useRef는 뭘까아요~~~?

2025. 1. 24. 14:18·React🦄

useRef

useRef는 rerendering 이 필요하지 않은 값을 참소 할 수 있는 React Hook 이다.

  • initialValue : ref객체의 current프로퍼티 초기 설정값이다. 이 인자는 초기 렌더링 이후 무시된다!
  • ref.current 프로퍼티를 변경해도 컴포넌트를 다시 렌더링 하지 않습니다.

사용법

import { userRef } from "React";

const ref = useRef(initialValue);

useRef는 처음에 제공한 initialValue로 설정된 단일 프로퍼티가 있는 ref객체를 반환한다.

다음 렌더링에서도 동일한 객체를 반환(초기화).

ref를 사용하면 다음을 보장합니다:

  • (렌더링할 때마다 재설정되는 일반 변수와 달리) 리렌더링 사이에 정보를 저장할 수 있습니다.
  • (리렌더링을 촉발하는 state 변수와 달리) 변경해도 리렌더링을 촉발하지 않습니다.
  • (정보가 공유되는 외부 변수와 달리) 각각의 컴포넌트에 로컬로 저장됩니다.

useState와 useRef 의 차이점

ref

1 useRef(initialValue)는 {current:initialValue} 를 반환
2 state 가 바뀌어도 리렌더 x
3 렌더링 중에는 current 값을 일거나 쓰면 안된다!

state

1 useState(initailValue)는 state 변수의 현재 값과 setter 함수[value,setValue] 를 반환
2 state 가 바뀌면 리렌더 o
3 언제든 state를 읽을 수 있다.

ref의 사용

1 컴포넌트의 형태에 영향을 미치치 않는 API 통신 할 떄 사용
2 timeout
3 다음 페이지에서 다루는 DOM 저장 및 조작
4 JSX를 계산,필요하지 않은 다른 객체 저장


요약
1 Refs는 렌더링에 사용되지 않는 값을 고정하기 위한 탈출구이며, 자주 필요하지는 않습니다.
2 ref는 읽거나 설정할 수 있는 current라는 프로퍼티를 호출할 수 있는 자바스크립트 순수객체입니다.
3 useRef Hook을 호출해 ref를 달라고 React에 요청할 수 있습니다.
4 state와 마찬가지로 ref는 컴포넌트의 렌더링 간에 정보를 유지할 수 있습니다.
5 state와 달리 ref의 current 값을 설정하면 리렌더가 트리거되지 않습니다.
6 렌더링 중에 ref.current를 읽거나 쓰지 마세요. 컴포넌트를 예측하기 어렵게 만듭니다.

'React🦄' 카테고리의 다른 글

Recoil  (0) 2025.02.19
React-Hook_Form  (0) 2025.02.16
SVG파일, Component 사용하기!(for Vite + TypeScript)  (0) 2025.02.03
'React🦄' 카테고리의 다른 글
  • Recoil
  • React-Hook_Form
  • SVG파일, Component 사용하기!(for Vite + TypeScript)
나미쓰
나미쓰
409....Conflict
  • 나미쓰
    나미의 기록📝
    나미쓰
  • 전체
    오늘
    어제
    • 분류 전체보기 (15)
      • 웹 접근성 (0)
      • JS (5)
      • 일상 (0)
      • Typescript (4)
      • React🦄 (4)
      • PHP (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • coding
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    lalavel
    restapi
    typescript class
    union type
    optional chaining
    intersection type
    watch mode
    JavaScript
    타입스크립트
    비동기통신
    PROMISE
    php
    svgr
    Vite
    axios
    image component
    javascript class
    Await
    tsconfig
    학습블로깅
    react-hook-form
    javascript 생성자
    contructor
    API
    Iterable
    비동기 함수
    코딩공부
    TypeScript
    es6
    생성자함수
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
나미쓰
useRef는 뭘까아요~~~?
상단으로

티스토리툴바