react中ref的三种使用方法

一:字符串类型refs(最简单但官方不推荐使用)

直接给文本节点绑定ref=“_name”,然后使用this.refs._name.xxx 获取
此时所有的ref都绑定在实例对象的refs属性中

 <input ref="inp1" placeholder="请输入内容"></input>
{/* ref的字符串方法 */}
<button onClick={()=>{alert(this.refs.inp1.value)}}>点击弹出左侧内容</button>

二:使用回调函数refs

用回调函数绑定ref,在对应文本节点上写入 ref={(currentNode)=>{this._name=currentNode}}
对应参数currentNode其实就是该文本节点,将该文本节点取一个别名_name
挂在实例上,可以直接this. ,注意,这里的ref不存在于实例的refs属性中

      {/* ref的回调函数方法 */}
<input ref={(currentNode)=>{this.inp1=currentNode}} placeholder="请输入内容"></input>
<button onClick={()=>{alert(this.inp1.value)}}>点击弹出左侧内容</button>

三:使用React.createRef()

首先声明一个_name=React.createRef(),然后就可以直接使用
该ref挂在实例对象上,也是一个对象,获取时用this._name.current.xxx获取
注意:该_name 是每个文本节点独有的,也就是说要绑定多个ref时需要创建多个对象

 myRef = React.createRef()
    render() {
        return <div>
              {/* ref的回调函数方法 */}
            <input ref={this.myRef} placeholder="请输入内容"></input>
            <button onClick={()=>{console.log(this.myRef.current.value)}}>点击弹出左侧内容</button>
        </div>
    }
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值