일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 별피라미드
- 결국&&로해결
- 주특기첫날
- flow차트
- JS역사
- 엄청오래걸림
- 깃허브 액션
- 실전첫WIL
- gitpull
- React상세페이지오류
- 자바스크립트런타임
- CSS
- 쿠키/웹스토리지
- 미니프로젝트
- mypage
- ReactS.A과제
- JSX key
- VirtualDOM
- Maxage
- 중간멘토링
- 부트스트랩컴포넌트5.0
- 순수함수
- 브라우저 렌더링과정
- HTML
- categoryCRUD
- useRef
- cache(캐시)
- REACT-CSS
- 댓글오류수정
- 1주차마무리
- Today
- Total
Suno
useRef란? 본문
1. useRef 가 무엇인가요?
useRef는 .current프로퍼티로 전달된 인자(initialValue)로 초기화된 변경 가능한 ref객체를 반환합니다. 반환된 객체는 컴포넌트의 전 생애주기를 통해 유지될 것입니다. 본질적으로 useRef는 .current프로퍼티에 변경 가능한 값을 담고 있는 상자와 같습니다.
2. useRef 를 언제 사용하나요?
2-1. 특정 DOM 선택하기
리액트에서는 DOM 을 선택할 때 ref 를 사용합니다. 함수형 컴포넌트에서 ref 를 사용할 때는 useRef 라는 Hook 함수를 사용하고 클래스형 컴포넌트에서는 콜백 함수를 사용하거나 React.createRef 라는 함수를 사용합니다.
2-2. 컴포넌트 안의 변수 만들기
useRef 로 관리하는 변수는 값이 바뀐다고 해서 컴포넌트가 리렌더링되지 않습니다. 리액트 컴포넌트에서의 상태는 상태를 바꾸는 함수를 호출하고 나서 그다음 렌더링 이후로 업데이트된 상태를 조회할 수 있지만, useRef 로 관리하는 변수는 설정 후 바로 조회할 수 있습니다.
2-3. 리렌더링 방지하기
컴포넌트가 렌더링 된다는 것은 함수(컴포넌트)를 호출하여 실행되는 것을 말합니다. 함수가 실행될 때마다 내부에 선언되어 있던 표현식(변수나 또 다른 함수 등)도 매번 다시 선언되어 사용합니다.
컴포넌트는 자신의 state가 변경되거나, 부모에게서 받는 props가 변경되었을 때마다 리렌더링 됩니다.
심지어 하위 컴포넌트에 최적화 설정을 해주지 않으면 부모에게서 받는 props가 변경되지 않았더라도 리렌더링 됩니다.
useRef 로 관리하는 변수는 값이 바뀐다고 해서 컴포넌트가 리렌더링되지 않으므로 리렌더링 방지에 활용할 수 있습니다.
참고블로그
useRef는 처음이라 :: 개념부터 활용 예시까지
React useRef 개념과 대표적인 3가지 활용 방법을 예제와 함께 정리했습니다. [1] 특정 DOM 선택하기 [2] 컴포넌트 안의 변수 만들기 [3] 리렌더링 방지하기
mnxmnz.github.io
[짤막글] useRef가 뭔가요?
안녕하세요. 김용성입니다.오늘은 useRef hook에 대해 간단히 알아보는 시간을 가지도록 하겠습니다.
velog.io
'개발지식' 카테고리의 다른 글
함수형 프로그래밍이란? (0) | 2023.03.01 |
---|---|
Cookie - MaxAge,Expires (0) | 2023.03.01 |
배열,객체 const로 선언시 요소 변경이 가능한 이유 (0) | 2023.02.28 |
require vs import (0) | 2023.02.27 |
브라우저 저장소 (cookie, local, session) (0) | 2023.02.27 |