react中的ref三种形式

1,字符串形式

  <!-- 创建盒子 -->
  <div id="test">

  </div>   


 <script type="text/babel">
      class Demo extends React.Component{
        render(){
          return(
            <div>
              <input type="text" ref='input1' />
              <button onClick={this.showDate}>点我提示左侧的数据</button>
              <input type="text" onBlur={this.shhowDate1} ref='input2'/>
            </div>
          )
        }
        showDate = () =>{
          console.log(this.refs.input1.value,'input1')
        }
        shhowDate1 = () =>{
          console.log(this.refs.input2.value,'input1')
        }
      }
      ReactDOM.render(<Demo />,document.getElementById('test'))
    </script>

2,回调形式

          /**
           * 1,在标签上使用回调形式
           * <input type="text" ref={c =>this.input1 = c }/>
           * 2,使用获取
           * this.input1
           * **/
  <!-- 创建盒子 -->
  <div id="test">

  </div>

 <script type="text/babel">
      class Test extends React.Component {
        render(){
          return (
            <div>
              <input type="text" ref={c =>this.input1 = c }/>
              <button onClick={this.showDate}>点我</button>
              <input type="text" ref={c =>this.input2 = c}/>
            </div>
          )
        }
        showDate = () =>{
          console.log(this.input1.value)
          console.log(this.input2.value)
        }
      }
      ReactDOM.render(<Test />,document.getElementById('test'))
    </script>

3,createRef形式

        /**
         *  1,引用语法
         * aaa =  React.createRef()
         * 2,定义在标签上
         * <input type="text" ref={this.aaa}/>
         * 3,使用获取
         * console.log(this.aaa.current.value,'this.mydata')
         * **/
    <script type="text/babel">
      class MyComponent extends React.Component{
        /**
         *  1,引用语法
         * React.
         * **/
        mydata = React.createRef()
        mydata1 = React.createRef()
        render(){
          return (
            <div>
              <input type="text" ref={this.mydata}/>
              <button onClick={this.clickDate} >点击</button>
              <input type="text" ref={this.mydata1} onBlur={this.clickDate1}/>
            </div>
          )
        }
        clickDate = () =>{
          console.log(this.mydata.current.value,'this.mydata')
        }
        clickDate1 = () =>{
          console.log(this.mydata1.current.value,'this.mydata1')
        }
      }
      ReactDOM.render(<MyComponent/>,document.getElementById('test'))
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值