我刚刚阅读了reactjs高级指南,但我不明白将转发引用与作为引用传递引用的区别。
我可以这样通过裁判吗?
function CustomTextInput(props) {
return (
<div>
<input ref={props.inputRef} />
</div>
);
}
class Parent extends React.Component {
render() {
return (
<CustomTextInput
inputRef={el => this.inputElement = el}
/>
);
}
}
而不是使用转发引用。
const FancyButton = React.forwardRef((props, ref) => (
<button ref={ref} className="FancyButton">
{props.children}
</button>
));
// You can now get a ref directly to the DOM button:
const ref = React.createRef();
<FancyButton ref={ref}>Click me!</FancyButton>;
如果他们有相同的目的将父母的裁判传给孩子,有什么区别?