React学习05_ref

React学习day05_ref

  1. 转发refs react当中提供了一个ref的数据,表示当前组件的真正实例的引用(不能在无状态组件当中来进行使用 因为无状态组件没有实例)
  2. 有三种方式 进行 ref的使用
    1. 字符串的方式
    2. 回调函数,就是在dom节点上挂载函数,入参形参
    3. React.createRef()
  3. 官方建议我们 不要过度使用 refs 需要优先考虑state
  4. 当给 HTML 元素添加 ref 属性时,ref 回调接收了底层的 DOM 元素作为参数。
  5. 当给组件添加 ref 属性时,ref 回调接收当前组件实例作为参数。
  6. 当组件卸载的时候,会传入null
<div id="reactDom"></div>
<script type="text/babel">
    class Com extends React.Component {
        constructor(props){
            super(props)
            this.myRef = React.createRef();
        }
        fun = () => {
            // console.log(this.refs.demoInput.value)
            console.log(this.myRef.current.value)
        }
        render() {
            return (
                <div>我是组件
                    {/*<input type="text" ref="demoInput" placeholder="请输入"/>
                    <button onClick={this.fun}>点我得到输入框的值</button>*/}
                    {/*<input type="text" ref={(input)=>{this.textinput = input}} placeholder="请输入"/>
                    <button onClick={this.fun}>点我得到输入框的值</button>*/}

                    <input type="text" ref={this.myRef} placeholder="请输入"/>
                    <button onClick={this.fun}>点我得到输入框的值</button>
                </div>
            )
        }
    }
    ReactDOM.render(<Com />, document.getElementById("reactDom"))
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值