React总结11:ref的用法
来源:互联网 发布:淘宝买手机售后保修 编辑:程序博客网 时间:2024/06/07 15:46
之前对ref用法的了解一直仅限于如下:
<input ref="input" />
然后在其他地方如事件回调中通过this.refs.input可以访问到该组件实例,其实就是dom元素节点。
let inputEl = this.refs.input;//然后通过inputEl来完成后续的逻辑,如focus、获取其值等等
大多数教程上指明的用法都如上,其实这种方式基本不推荐使用,或者在未来的react版本中不会再支持该方式。
ref的另一种用法是传入回调函数:
这也是官方强烈推荐的用法;这个函数执行的时机为:
1.组件被挂载后,回调函数被立即执行,回调函数的参数为该组件的具体实例。
2.组件被卸载或者原有的ref属性本身发生变化时,回调也会被立即执行,此时回调函数参数为null,以确保内存泄露。
例如下面代码:
RegisterStepTwo = React.createClass({ getInitialState(){ return {visible: true}; }, changeVisible(){ this.setState({visible: !this.state.visible}); }, refCb(instance){ console.log(instance); }, render(){ return( <div> <button type="button" onClick={this.changeVisible}>{this.state.visible ? '卸载' : '挂载'}ConfirmPass </button> { this.state.visible ? <ConfirmPass ref={this.refCb} onChange={this.handleChange}/>: null } </div> ) } });
上述代码,渲染到页面时可以发现console.log出对应的组件实例,切换按钮时,ConfirmPass也在挂载与卸载之间切换,所以能看到不同的console.log结果。
阅读全文
0 0
- React总结11:ref的用法
- React之ref详细用法
- React之ref详细用法
- React Native ref高级用法&&setNativeProps使用
- React Native ref高级用法&&setNativeProps使用
- React Native ref高级用法&&setNativeProps使用
- React-Native ref用法和setNativeProps
- React Native ref高级用法&&setNativeProps使用
- React Native ref高级用法&&setNativeProps使用
- react native ref的使用
- react中的ref的使用
- React中Ref的使用
- React之ref的使用
- Spring-----------------ref的用法
- ref元素的用法
- C# ref的用法
- REF游标的用法
- Spring中p:属性及ref的用法总结
- CS231n课程笔记翻译:Python Numpy教程
- 字符串必须包含大写字母,小写字母和数字
- linux配置软raid/故障模拟
- 使用ffmpeg将mp4文件中的h264码流转为raw h264文件格式或ts文件格式
- const放在函数前后的区别
- React总结11:ref的用法
- docker部署集群服务
- 线程安全总结(一)
- 3、Angular-Ui Router 多个命名视图
- Unity协程函数
- 计算机经典集合
- Android6.0运行时权限适配
- Oracle 查询数据库中没有数据的表
- voip sip消息返回码