react native中state和ref的使用

因props是只读的,页面中需要交互的情况我们就需要用到state。

一、如何使用state

1:初始化state

第一种方式:

constructor(props) {
super(props)
console.log('_____constructor_____')
this.state = {
count: 0
}
} render() {
return (
<View>
点击增加 {this.state.count}
</View>
);
}

第二种方式:

state = {
count: 0
} render() {
return (
<View>
点击增加 {this.state.count}
</View>
);
}

  

例子:点击增大或减小气球的小例子

import {
Text,
View,
Image
} from 'react-native'; constructor(props) {
super(props)
console.log('_____constructor_____')
this.state = {
size: 40
}
} render() {
return (
<View>
<Text onPress = {() =>{
this.setState({
size: this.state.size+10
})
}}>
点击增加
</Text>
<Image
style={{width:this.state.size,height:this.state.size}}
source={require('./1.png')}
>
</Image>
<Text onPress = {() =>{
this.setState({
size: this.state.size-10
})
}}>
点击减小
</Text>
</View>
);
}

  

二、ref的使用

组件中定义ref的值:

<MyComponent ref='myRef'/>

获取ref的值

this.refs.myRef

注意:这里的this.refs.myRef就是组件实例,可以获取到实例的属性和方法

例子:

1:利用ref触发子组件的方法

子组件中定义一个方法:

refFun() {
console.log(123)
}

父组件中调用

<View>
<MyComponent ref='myRef'/>
<Text onPress={() => {
this.refs.myRef.refFun()
}}>点击输出值</Text>
</View>

  

  

react native中state和ref的使用的更多相关文章

  1. React Native中组件的props和state

    一.组件的属性(props)和状态(state) 1.属性(props) 它是组件的不可变属性(组件自己不可以自己修改props). 组件自身定义了一组props作为对外提供的接口,展示一个组件时只需 ...

  2. 在 React Native 中使用 Redux 架构

    前言 Redux 架构是 Flux 架构的一个变形,相对于 Flux,Redux 的复杂性相对较低,而且最为巧妙的是 React 应用可以看成由一个根组件连接着许多大大小小的组件的应用,Redux 也 ...

  3. [RN] React Native中使用 react-native-scrollable-tab-view嵌套在ScrollView里,导致 子内容 在安卓上无法显示

    React Native中使用 react-native-scrollable-tab-view嵌套在ScrollView里,导致 子内容 在安卓上无法显示 问题: 0.9.0 或 0.8.0 版本的 ...

  4. [转] 「指尖上的魔法」 - 谈谈 React Native 中的手势

    http://gold.xitu.io/entry/55fa202960b28497519db23f React-Native是一款由Facebook开发并开源的框架,主要卖点是使用JavaScrip ...

  5. react native中使用echarts

    开发平台:mac pro node版本:v8.11.2 npm版本:6.4.1 react-native版本:0.57.8 native-echarts版本:^0.5.0 目标平台:android端收 ...

  6. 《React Native 精解与实战》书籍连载「React Native 中的生命周期」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  7. React Native中加载指示器组件ActivityIndicator使用方法

    这里讲一下React Native中的一个组件——ActivityIndicator,这是一个加载指示器,俗称菊花,很常见的,效果如下所示: 可以看到图中有两个加载指示器,一大一小,这是尺寸不是我设置 ...

  8. react native 中的redux 理解

    redux 中主要分为三大块,分别是Action Reducer 与Store. 1.Action是js的一个普通对象,是store数据的唯一来源.通过store.dispath()讲action传到 ...

  9. react native 中的ListView

    ListView 的运用: 1.首先在react native中引入这个组件: 2.初始化的ListView 的相关属性: constructor(props) { super(props); con ...

随机推荐

  1. 关于osi的7层与tcp的4层网络协议的理解

    osi 七层模型 应用层 提供接口 表示层 机器语言的二进制转换 对话层 决定是否传输 传输层 确定可不可靠 排差错 控流 网络层 提供逻辑地址 选路 数据链路层 mac 错误检测 物理层 设备间的比 ...

  2. Linux安装部署

    Linux桌面发行版 UbuntuCentOSRed heat LinuxOracle Linux 一.系统安装 1.系统分区 若手动分区swap和根分区必须创建,推荐创建boot分区. /----- ...

  3. 购物车业务逻辑(vuex)

    list(列表页): 1:发送ajax请求,获取相应的数据 2:给每一个上平添加一个点击事件 3:每一个商品都要有一个ID 4:当点击商品时,将商品id值传递给详情页 details(详情页): 1: ...

  4. Redis笔记 -- 链表和链表节点的API函数(三)

    链表和链表节点API 函数 作用 时间复杂度 listSetDupMethod 将给定的函数设置为链表的节点值复制函数 复制函数可以通过链表的dup属性直接获得,O(1) listGetDupMeth ...

  5. goland实现函数式链式编程

    先来看一段代码 package main import ( "fmt" elastic "gopkg.in/olivere/elastic.v2" ) type ...

  6. microPython环境安装及使用

    1.ESP8266_12E(NodeMCU1.0)(AI Thinker)板Arduino IDE环境安装 (1)方法1(自动安装,windows,mac,linux平台都可) http://ardu ...

  7. linux几个重要的组合键

    我们在用Windows系统时,有没有感觉快键键让我们工作更有效率,在Linux系统中仍有很好用的快捷键,这些快捷键可以辅助我们进行指令的编写与程序的中断呢,下面介绍几个经常用到的快捷键. 一.Tab- ...

  8. [2016北京集训测试赛7]isn-[树状数组+dp+容斥]

    Description Solution 定义dp[i][j]为在1到i个数中选了j个数,并且保证选了i的选法总数. dp[i][j]为所有满足A[k]>A[i]的k(k<i)的dp[k] ...

  9. 成都Uber优步司机奖励政策(4月12日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. swift3.0通过响应链获取当前试图的控制器

    func parentViewController() -> UIViewController? { let n = next while n != nil { let controller = ...