所谓Ref forwading,则是一种凭借组件向子组件自动传递ref 的一门技术。下面是一个测试demo
import React, { createRef, forwardRef } from 'react';
import './index.less';
const InputTest = forwardRef((props, ref) => (
<input type="text" ref={ref} name="test" />
));
export default class Footer extends React.Component {
constructor(props) {
super(props);
this.ref = createRef(null);
}
componentDidMount() {
const { current } = this.ref;
current.placeholder = '默认值';
current.value = '1';
current.focus();
}
render() {
return (
<InputTest ref={this.ref} />
)
}
}
如果InputTest不通过forwardRef是获取不到ref的。
结果: