React의 추가 후크 - useRef()
5960 단어 reactwebdevbeginnersjavascript
React의 추가 후크 중 하나인 useRef()를 다룹니다.
useRef()란 무엇입니까?
useRef()는 변경 가능한 JavaScript 객체를 생성하고 반환하는 JavaScript 함수입니다.
이 후크는 일부 값을 수락하고 주어진 값을 가진 객체를 반환합니다.
아래에서 자세히 살펴보겠습니다.
useRef() 사용 방법 및 시기
이 후크를 사용하려면 먼저 다음과 같이 React 라이브러리에서 가져와야 합니다.
import {useRef} from 'react';
가져오기 없이 이 후크를 다음과 같이 사용할 수 있습니다.
React.useRef()
저에게는 먼저 이 함수를 가져오고 분해한 다음 코드에서 필요할 때 사용하는 것이 더 편리합니다.그런 다음 이 후크를 다음과 같이 설정할 수 있습니다.
const refBox = useRef(initialValue);
위의 기본 설정에서 상수 refBox를 가끔 호출하지 않았지만 개체를 포함하는 상자로 간주할 수 있기 때문입니다.
useRef()
에 의해 생성된 개체는 .current
속성에 변경 가능한 값이 있습니다. 이 값은 후크에 전달된 initial value
에 의해 생성됩니다.참고:
.current
속성을 변경해도 다시 렌더링되지 않습니다.사용 사례
useRef()
의 가장 인기 있는 사용 사례는 DOM 노드에 액세스하는 것입니다. React 요소의 ref prop으로 useRef()
에서 얻은 값을 전달하면 React는 요소의 .current
속성을 해당 DOM 노드로 설정합니다. 이를 통해 입력 값을 가져오거나 포커스를 설정하는 등의 작업을 수행할 수 있습니다(예: 아래 양식).import {useRef} from 'react';
const Form =() =>{
//Here we create ref for input field
const nameRef = useRef();
//Here variable Name contains the current value of input field
const name = nameRef.current.value;
return(
<>
<label>
Name:
<input
placeholder="name"
type="text"
ref={nameRef} //here we add ref property to input
/>
</label>
//Here we add an event which gets input focus when user clicks the button
<button onClick={() => nameRef.current.focus()}>
Focus Name Input
</button>
</>
)
}
2. 가치 저장
useRef()
후크를 구현하는 고유한 방법은 이를 사용하여 DOM 참조 대신 값을 저장하는 것입니다. 이러한 값은 너무 자주 변경할 필요가 없는 state
이거나 구성 요소의 전체 다시 렌더링을 트리거하지 않아야 하는 state
일 수 있습니다. 예를 들어 다음과 같이 토글 기능을 구현하려는 경우에 사용할 수 있습니다.let toggled = useRef(false);
const handleToggle = () => {
toggled.current = !toggled.current;
}
return(
<>
<label onMouseMove={handleToggle}></label>
</>
)
결론
useRef() 후크는 DOM 요소와 상호 작용하고 다시 렌더링을 트리거하지 않고 앱에 변경 정보를 저장하는 데 매우 편리한 옵션입니다. 그러나 useRef()는 필요할 때만 사용하는 것이 좋습니다.
제 블로그를 읽어주셔서 감사합니다. 부담없이 접속하거나 :)
Reference
이 문제에 관하여(React의 추가 후크 - useRef()), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/olenadrugalya/additional-hooks-in-react-useref-82d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)