reactjs - 如何在react < 16中获取包装元素的'ref'?
问题描述
我的表单字段由一个反应组件单独包装。这个反应组件来自 3rd 方模块。我的挑战是设置“ref”并在该组件之外获取“ref”,以便我可以调用.focus
它。
注意:我无权修改 3rd 方模块的代码。
我不能使用 .createRef 和 .forwardRef 因为没有访问代码的权限,重要的是没有使用 React 16+
<WrapperComponent/>
该组件具有我需要从外部设置焦点的输入字段。
结构如下:
MyComponent: // Where I want to access the ref
render() {
return (
<div>
<WrapperComponent id={id} />
</div>
);
}
包装器组件(这是一个内部有输入字段的第 3 方组件。可能结构如下):
render() {
return (<input type="text" id={id} />);
}
解决方案
您可以获取自己的引用div
并编写一些代码以在其子节点中找到您需要的节点。
因为你有一个id
你可以window.document.getElementById(id)
访问那个节点。
推荐阅读
- python - 使用带有分区的 dask.dataframe.to_parquet() 时丢失索引信息
- javascript - 如何通过 Gmail API 在 Gmail 中查找最新的电子邮件 ID
- tensorflow - TensorFlow 的逻辑回归
- google-cloud-firestore - 实现一个 Firestore 无限 scolling 列表,该列表在集合更改时更新
- maven - Maven WebResources文件成为war文件中的目录
- lua - 为大数制作自动逗号有哪些表达方式?
- r - 警告:忽略非列表对比参数
- javascript - 如何在 reactjs 中进行内部重定向?
- php - 最佳平均评分
- typo3-9.x - 马其顿语 (mk) 语言未采用 TYPO3 模板设置中给出的翻译