美文网首页
React.createRef 和 React.forwardR

React.createRef 和 React.forwardR

作者: Ahungrynoob | 来源:发表于2019-08-04 13:10 被阅读0次

React.createRef

React.createRef 创建一个能够通过 ref 属性附加到 React 元素的 ref

class MyComponent extends React.Component {
  constructor(props) {
    super(props);

    this.inputRef = React.createRef();
  }

  render() {
    return <input type="text" ref={this.inputRef} />;
  }

  componentDidMount() {
    this.inputRef.current.focus();
  }
}

React.forwardRef

React.forwardRef 会创建一个React组件,这个组件能够将其接受的 ref 属性转发到其组件树下的另一个组件中。这种技术并不常见,但在以下两种场景中特别有用:

React.forwardRef 接受渲染函数作为参数。React 将使用 propsref 作为参数来调用此函数。此函数应返回 React 节点。

const FancyButton = React.forwardRef((props, ref) => (
  <button ref={ref} className="FancyButton">
    {props.children}
  </button>
));

// You can now get a ref directly to the DOM button:
const ref = React.createRef();
<FancyButton ref={ref}>Click me!</FancyButton>;

在上述的示例中,React 会将 <FancyButton ref={ref}> 元素的 ref 作为第二个参数传递给 React.forwardRef 函数中的渲染函数。该渲染函数会将 ref 传递给 <button ref={ref}> 元素。

因此,当 React 附加了 ref 属性之后,ref.current 将直接指向 <button> DOM 元素实例。

欲了解更多相关信息,请参阅 refs 转发

相关文章

  • React.createRef 和 React.forwardR

    React.createRef React.createRef 创建一个能够通过 ref 属性附加到 React ...

  • React.createRef

    React.createRef() 概述: 引用(Refs)提供了一个获得DOM节点或者创建在render方法中的...

  • React refs

    1.React.createRef() React.createRef可以给Dom元素添加ref。React.cr...

  • ReactJs中获取dom元素

    使用传统的React语法 this.mydom = React.createRef() 创建一个变量 ref={k...

  • react ref

    在 React16 新版本中,新引入了 React.createRef 与 React.forwardRef 两个...

  • react 之 ref

    React的ref有3种用法: 字符串(已废弃) 回调函数 React.createRef() (React16....

  • React 中ref的 React.createRef() 方法

    React.createRef() 在React 16.3版本后,使用此方法来创建ref。将其赋值给一个变量,通过...

  • React中的Ref

    以获取输入框焦点为例 1、字符串形式 2、React 16.3版本以后,使用React.createRef()方法...

  • react学习(18)createRef形式的ref

    1:React.createRef调用之后会返回一个容器,该容器可以存储被ref标识的节点,但是要注意,只能一个容...

  • -和 和 -

    产品介绍:和和是一款会员制共享平台;所有 经营者可在APP内注册和和商家成为会员供 应商(实体店、网店、微商、平台...

网友评论

      本文标题:React.createRef 和 React.forwardR

      本文链接:https://www.haomeiwen.com/subject/urtydctx.html