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";
전입 대상refs
React.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에 따라 라이센스가 부여됩니다.