Advertisement

Refers分享(深入学习React官方文档 17)

阅读量:

什么是Ref转发?

Ref转发是一项将ref自动地通过组件传递到其一子组件的技巧。

转发refs到DOM组件

  • 下面的组件是一个渲染原生DOM元素button的FancyButton组件
复制代码
    function FancyButton(props) {
      return (
    <button className="FancyButton">
      {props.children}
    </button>
      );
    }

Ref的传递作为一个可选功能存在;该功能允许某些组件接收Ref,并将此信息往下传递至子组件。

之所以要使用React.forwardRef是因为函数式组件无法直接接收ref.

在以下实例中,FancyButton通过React.forwardRef接收自其ref,随后将该ref转发至其渲染生成的DOM按钮元素上

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

全部评论 (0)

还没有任何评论哟~