我需要使用转发的 refs
const InfoBox = React.forwardRef((props, ref) => (
<div ref={ref} >
<Rings >
</Rings>
<Tagline />
</div>
));
我也碰巧已经有这样写的代码
class InfoBox extends React.Component {
constructor(props) {
super(props)
}
render () {
return (
<div >
<Rings />
<Tagline />
</div>
)
}
基本上我的 InfoBox 需要是一个组件,因为它拥有一些状态,但我也希望它表现得像一个可以从父级接收引用并将它们转发给子级的对象(基本上是 React.forwardRef)
在熟悉了 React.forwardRef 之后,我不知道如何让它与我现有的 React 组件一起工作,这些组件已经具有附加到状态的功能。
我是否需要将两个对象分开,并将一个包裹在另一个对象中,或者有没有办法可以在同一个对象中实现这一点?
包装信息框的代码看起来像
class AppContainer extends React.Component {
constructor(props) {
super()
this.infobox_ref = React.createRef()
}
componentDidMount() {
// this.infobox_ref.current.innerHTML should return the inner HTML of the infobox
}
render() {
return (
<InfoBox ref={this.infobox_ref}>
)
}
我是否正确使用转发的参考?