更新:我的问题实际上是由于输错了 - 如果您想在子组件和父组件中都使用子元素引用,则通用方法可以正常工作。
这里有一个可行的示例来展示这种方法的工作方式: https://codesandbox.io/s/rwj7z7o7oo 原始帖子:
我正在尝试将ref转发到父组件,同时还使该ref对子类(它是一个类)中的函数可访问。目前,我可以成功地将ref传递给父级,但是在子级中无法访问该ref。
这里有一个可行的示例来展示这种方法的工作方式: https://codesandbox.io/s/rwj7z7o7oo 原始帖子:
我正在尝试将ref转发到父组件,同时还使该ref对子类(它是一个类)中的函数可访问。目前,我可以成功地将ref传递给父级,但是在子级中无法访问该ref。
class Child extends React.Component {
// Unable to access the forwarded ref here:
componentDidMount() {
console.log(this.props.forwardedRef); // null
}
render() {
return <input type="text" ref={this.props.forwardedRef} />
}
}
// Parent is able to access the ref:
const Parent = () => {
const childRef = useRef(null);
function handleClick() {
console.log(childRef.current); // correctly ref's the input el
}
return (
<Child forwardedRef={childRef} onClick={handleClick} />
);
}
有没有其他方法可以让我在子组件和父组件中都使用ref?