【发布时间】:2020-06-23 18:37:30
【问题描述】:
我来自这个帖子:How to use React.forwardRef in a class based component? 我也非常仔细地浏览了文档,但我的 ref 转发似乎根本不起作用。
要创建引用的组件:
class TextEditor extends Component {
constructor(props: Props) {
this.editor = createRef();
}
render() {
console.log(this.editor) // -> This is always empty
return (
<BaseEditor ref={this.editor}/>
);
}
}
接收 ref 的组件:
class BaseEditor extends Component<Props> {
render() {
return (
<Editor ref={this.props.innerRef}/>
);
}
}
const BaseEditorForwardRef = React.forwardRef((props: any, ref: any) => (
<BaseEditor {...props} innerRef={ref} />
));
export default connect(mapStateToProps, mapDispatchToProps)(BaseEditorForwardRef)
我觉得一切都在它应该的地方。然而,如果我在不使用React.forwardRef 的情况下转发引用,则引用在TextEditor 中不存在,一切正常。
有人知道我做错了吗?
【问题讨论】:
标签: reactjs