• Reactnative中ref



    ref是什么? ref是组件的特殊属性,组件被渲染后,指向组件的一个引用。可以通过组件的ref属性,来获取真实的组件。 因为,组件并不是真正的DOM节点,而是存在于内存中的一种数据结构,称为虚拟的DOM,只有当它真正的插入文档之后,才变为真正的DOM节点。根据React的设计,所以的DOM变动都发生在虚拟DOM上,然后再将实际的部分反映到真实的DOM上--这就是 DOM DIff,它可以提高页面性能。 如何使用ref呢? ref属性的定义是在使用组件的部分,而组件的方法之类的都是在定义组件的里面就有的。render方法被调用的时候,组件就会被渲染。渲染完成之后,就可以获取这个组件实例啦,因而就可以调用组件实例里的方法或者变量啦。 定义组件的方式一 ref="reftest" this.refs.reftest 或者 this.refs[reftest] , 这两种方式都可以获得当前的组件。 获得当前组件的大小, let size = this.refs.reftest.getSize(); 定义组件的方式二 ref={reftest=>this.reftest=reftest} [当组件被渲染后,ref属性reftest就有值啦,然后我们将它赋值给this.reftest 。接下来就可以使用this.reftest来获取相应的方法] this.reftest 或者 this.refs['reftest'] , 这两种方式都可以获得当前的组件。 这种方式定义,就可以这样使用,var size = this.reftest.getSize();

    <Text style={{fontSize:20}}
    onPress={()=>{
    var size = this.refs.reftest.getSize();
    this.setState({
    size:size,
    })
    }
    }
    >
    获取气球大小:{this.state.size}

    </Text>
    <State ref="reftest">

    </State>

    State中的方法:

    export default class State extends Component {

    constructor(props){
    super(props);
    this.state={
    size:60,
    }
    }
    getSize(){
    return this.state.size;
    }
    render() {
    return <View style={{flex: 1}}>
    <NarBar onSelect={() => {
    Actions.pop()
    }} title='下一页'/>
    <Text style={{fontSize:20}}
    onPress={()=>{
    this.setState({
    size:this.state.size+10
    })
    }}
    >
    变大变大
    </Text>

    <Text style={{fontSize:20}}
    onPress={()=>{
    this.setState({
    size:this.state.size-10
    })
    }}
    >
    变小变小
    </Text>
    <Image style={{this.state.size,height:this.state.size,backgroundColor:'red'}}/>
    </View>
    }

    }
  • 相关阅读:
    Windows Server 2008关闭internet explorer增强的安全配置
    【转载并整理】mysql分页方法
    Mysql:MyIsam和InnoDB的区别
    【转载】web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
    【转载】java前后端 动静分离,JavaWeb项目为什么我们要放弃jsp?
    Redis命令汇总
    Redis介绍及安装
    【转载】Spring Cache介绍
    简单示例:Spring4 整合 单个Redis服务
    【转载整理】Hibernater的锁机制
  • 原文地址:https://www.cnblogs.com/cui-cui/p/8548070.html
Copyright © 2020-2023  润新知