很简单的一个小Demo,绿色的是输出的一个组件,目标把’爱好‘从父组件传给子组件,然后把’name‘从子组件传给父组件

父组件给子组件传值可以使用props,子组件传值给父组件可以使用事件,这里不多说直接上代码,

子组件代码:

//获取屏幕尺寸
var Dimensions = require('Dimensions');
var {width, height} = Dimensions.get("window"); export default class CustomView extends Component {
static defaultProps = {
age: 18,
love: '',
name:'',
onclick:null
} constructor(props) {
super(props);
this.state = {
//state创建
name: '张三'
}
}
_click(name){
// 反向传值
this.props.onclick(name);
} render() {
return (
<View style={styles.wrapper}>
{/*修改state*/}
<TouchableOpacity onPress={()=>{this.setState({"name": "李四"})}}>
<Text>{this.state.name},你好,年龄{this.props.age},爱好{this.props.love}</Text>
</TouchableOpacity>
{/*点击事件*/}
<TouchableOpacity onPress={()=>this._click(this.state.name)} style={{marginTop: 20}}>
<Text>点击我把name输出出去</Text>
</TouchableOpacity>
</View>
)
}
} const styles = StyleSheet.create({
wrapper: {
width: width,
height: 200,
alignItems: 'center',
justifyContent: 'center',
backgroundColor: '#00ff00'
}
});
// 把当前的Component输出
module.exports = CustomView;

父组件的代码只写重点,style自己组织

customViewClick(name) {
alert(name)
}
render() { return (
<View style={styles.wrapper}>
<TouchableOpacity onPress={()=>this.click()}>
<View style={styles.textStyle}>
<Text>1243</Text>
</View>
</TouchableOpacity> <CustomView
//正向props传值
love="跑步、画画"
//反向传值
onclick={(name) => this.customViewClick(name)}
/> </View>
)
}

RN正、反向传值,组件输出的更多相关文章

  1. iOS 代理反向传值

    在上篇博客 iOS代理协议 中,侧重解析了委托代理协议的概念等,本文将侧重于它们在开发中的应用. 假如我们有一个需求如下:界面A上面有一个button.一个label.从界面A跳转到界面B,在界面B的 ...

  2. iOS-代理反向传值<转>

    在上篇博客 iOS代理协议 中,侧重解析了委托代理协议的概念等,本文将侧重于它们在开发中的应用. 假如我们有一个需求如下:界面A上面有一个button.一个label.从界面A跳转到界面B,在界面B的 ...

  3. RN中的常用组件-----图片

    1.RN中的常用组件-----图片 本地图片: <Image  source={require('../src/assets/x.jpg')}/> 本地图片可以无需指定尺寸(因为导入/打包 ...

  4. 使用block进行界面之间的反向传值

    目标:在两个独立的控制器的界面之间进行反向传值 关键技术:block 代码编写及运行环境:Xcode6.4 / 模拟器8.4 语言:Objective-C 注:使用纯代码实现,不使用xib/story ...

  5. iOS Block界面反向传值

    在上篇博客 <iOS Block简介> 中,侧重解析了 iOS Block的概念等,本文将侧重于它们在开发中的应用. Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C ...

  6. 代理和block反向传值

    代理传值: // SendViewController.h #import <UIKit/UIKit.h> @protocol SendInFor <NSObject> -(v ...

  7. block 反向传值回调

    /** *  block 反向传值回调 */ //在第二个控制器中 //   (1)声明block,在基类中已写好 //   (2)写好传值方法 //(1) typedef void (^Return ...

  8. [ios][swift]使用swift闭包进行viewcontroller反向传值

    闭包参考:http://c.biancheng.net/cpp/html/2285.html   闭包详解 传值参考:http://www.tuicool.com/articles/vy2uUz Sw ...

  9. OC10_代理反向传值

    // // ProtectedDelegate.h // OC10_代理反向传值 // // Created by zhangxueming on 15/6/24. // Copyright (c) ...

随机推荐

  1. [PHP] 09 - PHP 7 & Tricky

    新特征列表: 序号 内容 1 PHP 标量类型与返回值类型声明 2 PHP NULL 合并运算符 3 PHP 太空船运算符(组合比较符) 4 PHP 常量数组 5 PHP 匿名类 6 PHP Clos ...

  2. [React] 16 - Topic: Mixins & Higher-Order Components

    到底是个什么东东,待学习中... Ref: https://www.cnblogs.com/wonyun/p/5930333.html

  3. Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法

    Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法 经常在ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪. 其实原因很 ...

  4. PHP-CLI环境变量的设置和读取

    http://luokr.com/p/30 通常我们在维护PHP线上项目的时候,为了隔离配置和代码,会使用fastcgi_param的形式将环境变量定义在Nginx的配置文件中(Apache可以使用S ...

  5. 同一个tomcat使用不同http端口配置多个web项目

    1.复制 conf/server.xml下的 复制粘贴新的一个Service元素下的所有内容,并修改name为Catalina2,<Service name="Catalina&quo ...

  6. 在PHP系统里连接MySQL 数据访问,+ + + + + 数据删除

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. IIS 使用域账户访问SQL 需要配置

    打开应用程序的 Web.config 文件并添加以下元素:   <authentication mode="Windows" /> <identity imper ...

  8. vue中的iviewUI导出1W条列表数据每次只导出2000条的逻辑

    导出弹窗的html <template> <Modal v-model="exportModal" width=400 :closable="false ...

  9. ubuntu下能ping通ssh不通的解决思路

    1.首先看看是否能ping通,如果ping不通可能就要考虑网线.路由等问题了: 2.看防火墙是否关闭,sshd是否开启 3.ssh -v 服务器的ip号,根据提示寻找可能的问题: 我的问题在这一步之后 ...

  10. CCPC-Wannafly Winter Camp Day4 Div1 - 夺宝奇兵 - [简单思维题]

    题目链接:https://zhixincode.com/contest/18/problem/A?problem_id=259 题目描述 wls正在玩一个寻宝游戏. 宝藏一共有 $n$ 种,都藏在一个 ...