Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- http
- Fetch
- db
- github
- JavaScript
- API
- firestoredatabase
- web
- jQuery
- bootstrap
- 배포
- data
- IntersectionObserver
- Boostrap
- supabase
- REACT
- nosql
- til
- CSS
- Cloud
- TMDB
- W
- Database
- url
- useEffect
- HTML
- this
- SQL
- Github Pages
- Protocol
Archives
- Today
- Total
072DATA
`React` UseRef 본문
useRef
React에서 제공하는 훅으로 함수 컴포넌트에서 DOM 요소에 접근하거나
리렌더링과 상관없이 값을 유지할 수 있는 변수를 관리할 때 유용
주요 기능
DOM 요소에 접근하기
import { useRef } from 'react';
function InputFocus() {
const inputRef = useRef(null);
const focusInput = () => {
inputRef.current.focus();
};
return (
<div>
<input ref={inputRef} type="text" />
<button onClick={focusInput}>Focus Input</button>
</div>
);
}
위 코드에서는 input 요소에 ref를 연결해 버튼 클릭 시 해당 입력 필드에 포커스를 줄 수 있음
값 저장 및 유지
useRef는 컴포넌트가 리렌더링되더라도 변경되지 않는 값을 저장할 수 있고
이 값은 current라는 프로퍼티에 저장됨.
useRef로 저장된 값은 state와 달리 값이 변경돼도 컴포넌트를 리렌더링하지 않음.
function Counter() {
const count = useRef(0);
const increment = () => {
count.current += 1;
console.log(count.current);
};
return <button onClick={increment}>Increment</button>;
}
위 코드에서 count.current는 컴포넌트가 리렌더링되더라도 값이 유지되며, 리렌더링을 발생시키지 않음.
결론
- useRef는 DOM 요소 접근 및 비상태 데이터 저장에 유용함.
- 리렌더링과 관계없이 값을 유지할 수 있어, 성능 최적화 및 특정 참조가 필요할 때 사용됨.
- 주로 상태 변화와 관계없는 데이터를 관리하거나 DOM 조작에 사용됨.
'FrontEnd > React' 카테고리의 다른 글
`React` 메모이제이션(useMemo) (0) | 2024.08.21 |
---|---|
`React` useContext ( prop Drilling 문제 해결 ) (0) | 2024.08.20 |
`React` - UseEffect의 간단한 사용법 (0) | 2024.08.17 |
`React` 올림픽 메달 등록 (타임어택) (0) | 2024.08.16 |
스타일드 컴포넌트 사용법 (Styled-Components) (0) | 2024.08.15 |