React--Refs转发

React--Refs转发,第1张

基本使用

VueReact中,ref都是框架(ReactJavaScript库)提供给我们的一种直接 *** 作DOM行为的方式,在Vue中的template模板中,不管是组件(会将外部传递的ref属性再传递给组件内部模板定义的根元素上)还是普通标签元素(如divbutton),使用ref都能够引用到DOM元素

但是在React中,普通的标签能够赋予ref直接引用,而对组件需要使用refs 转发

普通标签元素用法如下:

// Home.js
export default class Home extends React.Component {
  state = {
    buttonRef: React.createRef(),
  }

  componentDidMount () {
    console.log(this.state.buttonRef) // { current: button }
    // ref 指向了 button 元素
  }

  render () {
    return (
      <div>
        <h1>Home</h1>
        <button
          ref={this.state.buttonRef}
        >Click Me!</button>
      </div>
    )
  }
}

过程解释:

初始化使用React.createRef()创建了一个ref引用实例buttonRef,放在state中;将this.state.buttonRef通过ref属性直接传递给
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-17
下一篇 2022-05-17

发表评论

登录后才能评论

评论列表(0条)

保存