如何在react < 16中获得包装元素的'ref'?

帕韦卢沙

我的表单字段分别由反应组件包装。这个反应组件来自 3rd 方模块。我的挑战是设置“ref”并在该组件之外获取“ref”,以便我可以调用.focus它。

注意:我无权修改第 3 方模块的代码。

我不能使用 .createRef 和 .forwardRef 因为无法访问代码,而且重要的是不使用 React 16+

<WrapperComponent/> 这个组件有输入字段,我需要从外部设置焦点。

结构如下:

    MyComponent: // Where I want to access the ref

    render() {
        return (
            <div>
                <WrapperComponent id={id} />
            </div>
        );
    }

包装组件(这是一个 3rd 方组件,里面有输入字段。可能结构如下):

    render() {
        return (<input type="text" id={id} />);
    }

这将是烧瓶

一种干净的方法是 fork 第三方组件并使其公开引用。

一种解决方法是扩展第三方组件:

class FirstParty extends ThirdParty {
  inputRef = React.createRef();

  render() {
    const inputReactEl = super.render();
    return React.cloneElement(inputReactEl, { ref: this.inputRef });
  }
}

另一种解决方法是包装它:

class FirstParty extends Component {
  componentDidMount() {
    this.inputDomEl = ReactDOM.findDOMNode(this);
  }

  render() {
    return <ThirdParty {...this.props}/>;
  }
}

如果使用 React 15,createRef可以将 refs 更改为旧版 refs。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在react js的可重用组件中获取ref

来自分类Dev

React 中的 ref 回调是如何工作的?

来自分类Dev

如何在React Navigation v4中处理未初始化的导航ref?

来自分类Dev

如何访问包装在React-Redux的connect函数中的功能子组件中的ref?

来自分类Dev

如何在挂钩内访问当前组件的顶级元素ref?

来自分类Dev

如何在TensorFlow中取消引用_ref张量类型?

来自分类Dev

reactjs:如何在v15.1.0中访问ref值

来自分类Dev

如何在Excel索引函数中调试#REF

来自分类Dev

如何在 ReactJS 中通过 ref 动态设置状态

来自分类Dev

如何在 Vue.js 中触发点击 ref

来自分类Dev

如何在 ReactJS 的父组件中获取子组件的 ref

来自分类Dev

如何在云消息Android中获取Ref的孩子?

来自分类Dev

如何创建一个元素并使用它的 ref 在 react 中附加子元素?

来自分类Dev

在React中传递给元素ref的函数永远不会运行

来自分类Dev

在React功能组件中访问Ref

来自分类Dev

如何使用 $ref 文件中的附加属性?

来自分类Dev

如何在React Native中使用ref清除Text组件

来自分类Dev

如何在不展开包装的情况下将ref传递给方法/函数参数?

来自分类Dev

React.JS Ref中的Ref错误-createRef,useRef和使用Refs

来自分类Dev

如何在Rust中将ref转换为en16的枚举值(基本枚举类型)?

来自分类Dev

在动态块中使用ref作为父元素React

来自分类Dev

这里的输入如何获得.value以及什么是ref?

来自分类Dev

元素“ref:setting”的前缀“ref”未绑定

来自分类Dev

如何为从React ref提取的特定HTML节点添加动态元素?

来自分类Dev

当子节点是点击事件目标时,如何在React中获得div包装器的ID?

来自分类Dev

React-将组件保存在ref回调中

来自分类Dev

react挂钩useEffect和ref对象中的异常行为

来自分类Dev

ref.current.contains不是React中的函数

来自分类Dev

条件渲染组件中的REACT ref.current为null

Related 相关文章

  1. 1

    如何在react js的可重用组件中获取ref

  2. 2

    React 中的 ref 回调是如何工作的?

  3. 3

    如何在React Navigation v4中处理未初始化的导航ref?

  4. 4

    如何访问包装在React-Redux的connect函数中的功能子组件中的ref?

  5. 5

    如何在挂钩内访问当前组件的顶级元素ref?

  6. 6

    如何在TensorFlow中取消引用_ref张量类型?

  7. 7

    reactjs:如何在v15.1.0中访问ref值

  8. 8

    如何在Excel索引函数中调试#REF

  9. 9

    如何在 ReactJS 中通过 ref 动态设置状态

  10. 10

    如何在 Vue.js 中触发点击 ref

  11. 11

    如何在 ReactJS 的父组件中获取子组件的 ref

  12. 12

    如何在云消息Android中获取Ref的孩子?

  13. 13

    如何创建一个元素并使用它的 ref 在 react 中附加子元素?

  14. 14

    在React中传递给元素ref的函数永远不会运行

  15. 15

    在React功能组件中访问Ref

  16. 16

    如何使用 $ref 文件中的附加属性?

  17. 17

    如何在React Native中使用ref清除Text组件

  18. 18

    如何在不展开包装的情况下将ref传递给方法/函数参数?

  19. 19

    React.JS Ref中的Ref错误-createRef,useRef和使用Refs

  20. 20

    如何在Rust中将ref转换为en16的枚举值(基本枚举类型)?

  21. 21

    在动态块中使用ref作为父元素React

  22. 22

    这里的输入如何获得.value以及什么是ref?

  23. 23

    元素“ref:setting”的前缀“ref”未绑定

  24. 24

    如何为从React ref提取的特定HTML节点添加动态元素?

  25. 25

    当子节点是点击事件目标时,如何在React中获得div包装器的ID?

  26. 26

    React-将组件保存在ref回调中

  27. 27

    react挂钩useEffect和ref对象中的异常行为

  28. 28

    ref.current.contains不是React中的函数

  29. 29

    条件渲染组件中的REACT ref.current为null

热门标签

归档