在 React 中,ref 是用来获取组件或 DOM 元素的引用的一种方式。ref 可以在组件挂载后被访问,并且允许您从组件中访问底层的 DOM 元素或组件实例。
ref 有两种用法:字符串 ref 和回调函数 ref。
class MyComponent extends React.Component {
componentDidMount() {
const input = this.refs.myInput;
input.focus();
}
render() {
return(
<div>
<input type="text" ref="myInput" />
</div>
);
}
}
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.inputRef = null;
}
componentDidMount() {
this.inputRef.focus();
}
setInputRef = (ref) => {
this.inputRef = ref;
};
render() {
return (
<div>
<input type="text" ref={this.setInputRef} />
</div>
);
}
}
需要注意的是,字符串 ref 在 React v16.3 之后被废弃了,建议使用回调函数 ref。此外,对于函数组件,可以使用 useRef Hook 来获取组件或 DOM 元素的引用