ref的使用

ref在react中可以获取一个DOM节点,这点和vue很类似,但是用法不同,下面上例子:

我们在写一个input标签的onChange事件时,通常都是这么写:

<input id='ipt' onChange='this.handleInputChange'/>

handleInputChange:(e)=>{
 console.log(e.target) //输出<input id='ipt' value=''/>DOM本身
 const inputValue = e.target.value
 this.setState({
   inputValue: inputValue
 })
}

那么e.target就是input的DOM本身,我们可以用ref来获取它

<input id='ipt' 
          onChange='this.handleInputChange'
          ref={(input)=>{this.input = input}}
/>

这样this.input就成功的指向了input的DOM节点,然后我们的代码可以改写成这样:

handleInputChange:()=>{
  console.log(this.input) //输出<input id='ipt' value=''/>DOM本身
  const inputValue = this.input.value
  this.setState({
    inputValue: inputValue
  })
}

但是官方也建议大家尽量不要使用ref,尽量不用去直接操作DOM,除非真的遇到特殊情况不得不用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • React中Ref是什么? ref是React提供的用来操纵React组件实例或者DOM元素的接口。 ref的作用...
    张培_阅读 36,252评论 2 5
  • React 支持一种非常特殊的属性 Ref ,你可以用来绑定到 render() 输出的任何组件上。这个特殊的属性...
    追风的云月阅读 5,278评论 0 1
  • 在react中,一般情况下,数据通过props来交互,但是在某些情况下,仍需用到ref,在官网中是这样说的 In ...
    SuperBinlin阅读 10,587评论 0 2
  • ref关键字使参数按引用传递 其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。...
    乖乖果效36阅读 5,829评论 0 0
  • 今天下午我们几个姐妹相约到海青学校沙龙,这是一次很特别的沙龙活动,很期盼! 前几天看到小薛在群里晒她的手工作品,用...
    胡宝琴阅读 3,741评论 0 0

友情链接更多精彩内容