React refs 소개
무엇
Refs컴퓨터 에서 탄성 파일 시스템 이 라 고 합 니 다(영어:Resilient File System,ReFS 라 고 약칭)React중의Refs은 우리 가DOM노드 에 접근 하거나render방법 에서 만 든React요 소 를 제공 하 는 방식 을 제공 했다.본질 적 으로
ReactDOM.render()되 돌아 오 는 구성 요소 인 스 턴 스 입 니 다.렌 더 링 구성 요소 라면 구성 요소 인 스 턴 스 를 되 돌려 줍 니 다.렌 더 링dom하면 구체 적 인dom노드 를 되 돌려 줍 니 다.어떻게 사용
창설
ref의 형식 은 세 가지 가 있다.입력 문자열
대응 하 는 요소 나 구성 요소 에서
ref속성 만 필요 합 니 다.
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.myRef = React.createRef();
}
render() {
return <div ref="myref" />;
}
}현재 노드 에 접근 하 는 방법 은 다음 과 같 습 니 다.
this.refs.myref.innerHTML = "hello";전입 대상refsReact.createRef()을 통 해 만 든 다음ref속성 을React요소 에 추가 합 니 다.다음 과 같 습 니 다.
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.myRef = React.createRef();
}
render() {
return <div ref={this.myRef} />;
}
}ref이render의 요소 에 전 달 될 때 이 노드 에 대한 인용 은ref의current속성 에서 방문 할 수 있 습 니 다.
const node = this.myRef.current;입력 함수ref함수 로 전 송 될 때 렌 더 링 과정 에서 리 셋 함수 매개 변 수 는 요소 대상 에 전 달 된 다음 인 스 턴 스 를 통 해 대상 을 저장 합 니 다.
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.myRef = React.createRef();
}
render() {
return <div ref={element => this.myref = element} />;
}
}대상 가 져 오기ref대상 은 이전에 저 장 된 대상 을 통 해 만 가능 합 니 다.
const node = this.myref 훅useRef을 통 해 하나 만 들 기ref,전체 사용 방식 은React.createRef와 일치 합 니 다.
function App(props) {
const myref = useRef()
return (
<>
<div ref={myref}></div>
</>
)
}획득ref속성 도 통과hook대상current속성
const node = myref.current;상기 세 가지 상황 은ref속성 이 원생HTML요소 에 사 용 됩 니 다.ref설정 한 구성 요소 가 하나의 구성 요소 일 때ref대상 은 구성 요소 의 마 운 트 인 스 턴 스 를 받 습 니 다.함수 구성 요소 에 속성 을 사용 할 수 없습니다
ref.인 스 턴 스 가 없 기 때 문 입 니 다.3.응용 장면
어떤 경우 에 우 리 는
refs을 사용 하여 구성 요 소 를 업데이트 할 것 입 니 다.그러나 이런 방식 은 추천 하지 않 습 니 다.더 많은 경우 에 우 리 는props과state방식 으로 서브 요 소 를 다시 렌 더 링 합 니 다.과 다 사용
refs은 구성 요소 의 인 스 턴 스 나DOM구 조 를 노출 시 켜 구성 요소 패키지 의 원칙 을 위반 할 수 있 습 니 다.예 를 들 어
Dialog구성 요소 에 노출open()과close()방법 을 피하 고isOpen속성 을 전달 하 는 것 이 좋 습 니 다.그러나 아래 장면 의 사용
refs은 매우 유용 하 다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바삭바삭하고 간단한 결제 페이지 만들기먼저 Next.js에서 프로젝트를 만듭니다. Vercel & Next.js가 매우 편하기 때문에 최근에는이 구성을 사용하고 있습니다. 그런 다음 Tailwind CSS를 넣습니다. Tailwind CSS를 사용하면 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.