-
类 ES6中引入了class(类),让javaScript的面向对象编程变得更加简单和易于理解 一、类的导入 和导入普通的组件是一样的 import Student from './Student'; 二、类的实例化 可以在setup.js的构造函数中,如下: this.stu= new Student("晓明","男", 16); 三、使用类的实例 setup.js的render里面 this.stu.getDescription()//获取实例中的方法或属性等 四、类的继承 构造方法和方法是可以重写的查看全部
-
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();查看全部
-
本节要讨论的问题: 1、什么是ref? 2、如何使用ref?查看全部
-
state也可以吹气球 (导入新的资源,都会报错,因此需要将包管理器关掉,再重新启动服务即可。) 如何控制state的变化呢,在文字上设置方法, onPress={ ()=> {this.setState ({ size:this.state.size+10}); }} 改变state的值是用 this.setState{size:90} <Image style={{width:this.state.size,height:this.state.size}} source={require('./qiqiu.png)} /> 上述代码就将 Image 的大小给渲染出来啦。(动态化的UI就有啦)查看全部
-
什么是state props是不可改变,只读的。为了实现交互,就需要用到组件的state。我们将组件看为状态机,UI是各种各样的状态,并在各种各样的状态之间可以切换,只需要改变组件的state,就会重新渲染UI。 state是组件私有的,是没有办法通过其他组件传递过来的。 如何使用state 方式一、 我们可以在组件的构造方法中,初始化组件的state。 constructor(props){super(props); this.state={size:80} } 初始化size,默认给它80. 方式二、 直接在组件内,state={size:80}。不用写在构造方法内。查看全部
-
小技巧二:解构赋值 适用于只想传递部分属性情况 好处:可以从一组属性中获取指定属性,省去了params.name等的写法 实例如下: render(){ var params={name:'小张', age:18, sex:'男}; var {name,sex}=params; return( <View style={styles.container}> <PropsTest name={name} sex={sex} ></PropsTest> </View> ) }查看全部
-
默认的目录是model_lib并非当前的根目录,这个好奇怪,。。。。查看全部
-
ref使用详解 1、什么是ref? 2、如何使用ref?查看全部
-
<RefTest ref={reftest=>this.reftest=reftest}/> <Text onPress={()=>{ var size=this.reftest.getSize(); this.setState({ size:size }) }}查看全部
举报
0/150
提交
取消