u_ju
우주의 우당탕탕개발일지
u_ju
전체 방문자
오늘
어제
  • 분류 전체보기 (118)
    • 팀 프로젝트 (2)
    • 내배캠 WIL & TIL (91)
    • JS (0)
    • React (1)
    • CS (23)
    • Next (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 배열#함수
  • 코딩#바보#오류투성이#팀프로젝트
  • Component를 처음 선언하는 것을 Mount 라고 한다던데...?#props #state
  • 일요일 오늘은 내가 바로 함수만들기 요리사 !
  • 회의감#현타#나름뿌듯#고민거리#코딩#IT#CSS#JS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
u_ju

우주의 우당탕탕개발일지

CS

useRef가 필요한 상황과 사용 예시

2023. 4. 4. 11:09

useRef는 React Hook 중 하나로, DOM 요소나 React 컴포넌트 내에서 사용되는 변수를 생성하고, 이를 관리하는 기능을 제공합니다. useRef를 사용하는 상황은 다음과 같습니다.

 

1. DOM 요소에 대한 접근: useRef를 사용하여 DOM 요소에 대한 참조를 생성하고, 이를 통해 해당 요소에 접근할 수 있습니다. 예를 들어, 특정 버튼을 클릭했을 때 input 요소에 focus를 주고 싶을 때 useRef를 사용하여 input 요소에 대한 참조를 생성하고, 해당 참조를 통해 input 요소에 focus를 주는 것이 가능합니다.

 

2. 이전 값 저장: useRef를 사용하여 이전 값들을 저장할 수 있습니다. 예를 들어, useEffect 훅에서 이전 값을 저장하고, 새로운 값과 비교하여 변경 사항이 있는지 확인하는 경우에 useRef를 사용할 수 있습니다.

 

3. 값의 변경이 필요 없는 경우: useState 훅은 값이 변경될 때마다 컴포넌트를 다시 렌더링하는 반면, useRef는 값이 변경되어도 컴포넌트를 다시 렌더링하지 않습니다. 따라서, 값의 변경이 필요 없는 상황에서는 useRef를 사용하여 성능을 개선할 수 있습니다.

 

4. 외부 라이브러리와 상호작용: 외부 라이브러리에서 제공하는 DOM 요소나 객체를 관리해야 할 때 useRef를 사용할 수 있습니다. 예를 들어, D3.js와 같은 데이터 시각화 라이브러리에서 생성한 요소에 접근할 때 useRef를 사용하여 참조를 생성하고, 해당 요소에 대한 조작을 할 수 있습니다.


5. setTimeout, setInterval 함수 관리: setTimeout, setInterval 함수는 컴포넌트가 unmount 되면 clear 함수를 사용하여 이전에 생성된 타이머 함수를 정리해야 합니다. useRef를 사용하면 컴포넌트의 life-cycle과 독립적으로 변수를 선언할 수 있어 setTimeout, setInterval 함수를 관리하는 데 유용합니다.

 

위와 같은 상황에서 useRef를 사용하여 컴포넌트를 효율적으로 관리할 수 있습니다.

'CS' 카테고리의 다른 글

순수함수란 무엇인가? 불변성과 사이드 이펙트와의 관계.  (0) 2023.04.05
Cookie의 MaxAge, Expires 옵션이 무엇인지, 설정하지 않으면 ?  (0) 2023.04.04
배열, 객체를 const 로 선언했는데 요소, 속성을 추가할 수 있는 이유  (0) 2023.04.04
require와 import차이점  (0) 2023.04.04
브라우저 저장소 차이(local storage, session storage, cookie)  (0) 2023.03.31
    'CS' 카테고리의 다른 글
    • 순수함수란 무엇인가? 불변성과 사이드 이펙트와의 관계.
    • Cookie의 MaxAge, Expires 옵션이 무엇인지, 설정하지 않으면 ?
    • 배열, 객체를 const 로 선언했는데 요소, 속성을 추가할 수 있는 이유
    • require와 import차이점
    u_ju
    u_ju

    티스토리툴바