반응형
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
- awss3
- cypress React
- git commit 협업
- s3이미지다운로드됨
- 가상면접3장
- react-ga
- 테스트코드책
- cypressBDD
- 가상면접으로대규모시스템
- 디자인패턴
- file not found Error
- FirebaseAnalytics
- Git commit 합치기
- gitsquash
- 시스템설계면접팁
- 시스템설계면접예시
- 시스템설계면접
- git commit merge
- 리팩토링2판4장
- formik react-query submitting not working
- formik submitting not working
- git squash
- react
- 시스템설계방법
- 전략패턴
- 리팩터링2판테스트
- 리액트구글애널리틱스
- 가상면접2장
- 헤드퍼스트전략패턴
- 시스템설계
Archives
- Today
- Total
mingg IT
[React] ref 본문
ref 를 이용하면 돔 요소에 직접 접근 할 수 있다.
돔 요소에 포커스를 주거나, 크기나 스크롤 위치를 알고 싶을 경우
함수형 컴포넌트에서 ref 속성값을 사용한 예
import React, { useRef, useEffect } from "react";
function TextInput({ inputRef }) {
return (
<div>
<input type="text" ref={inputRef} />
<button>저장</button>
</div>
);
}
export default function Form() {
const inputRef = useRef();
useEffect(() => {
inputRef.current.focus();
}, []);
return (
<div>
<TextInput inputRef={inputRef} />
<button onClick={() => inputRef.current.focus()}>텍스트로 이동</button>
</div>
);
}
forwardRef 함수를 사용하는 코드
import React, { useRef, useEffect } from "react";
const TextInput = React.forwardRef((props, ref) => (
<div>
<input type="text" ref={ref} />
<button>저장</button>
</div>
));
export default function Form() {
const inputRef = useRef();
useEffect(() => {
inputRef.current.focus();
}, []);
return (
<div>
<TextInput ref={inputRef} />
<button onClick={() => inputRef.current.focus()}>텍스트로 이동</button>
</div>
);
}
forwardRef 를 사용하면 부모 컴포넌트에서 넘어온 ref 속성값을 직접 처리할 수 있다.
이전에는 inputRef로 사용했던 이름을 ref로 사용할 수 있게 됨.
useRef훅으로 만들어진 ref객체를 ref 속성값에 연결하는 경우를 살펴봄.
'FrontEnd' 카테고리의 다른 글
[React] useReducer, useImperativeHandle, useLayoutEffect (0) | 2021.01.31 |
---|---|
[React] useContext, useMemo, useCallback (0) | 2021.01.19 |
[React] context API 사용 vs 미사용 (0) | 2021.01.17 |
[React] useEffect 를 이용한 API 호출, 이벤트 처리 함수 등록 및 해제 (0) | 2021.01.17 |
[React] input 예제 (0) | 2021.01.17 |
Comments