RN正、反向传值,组件输出
很简单的一个小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正、反向传值,组件输出的更多相关文章
- iOS 代理反向传值
在上篇博客 iOS代理协议 中,侧重解析了委托代理协议的概念等,本文将侧重于它们在开发中的应用. 假如我们有一个需求如下:界面A上面有一个button.一个label.从界面A跳转到界面B,在界面B的 ...
- iOS-代理反向传值<转>
在上篇博客 iOS代理协议 中,侧重解析了委托代理协议的概念等,本文将侧重于它们在开发中的应用. 假如我们有一个需求如下:界面A上面有一个button.一个label.从界面A跳转到界面B,在界面B的 ...
- RN中的常用组件-----图片
1.RN中的常用组件-----图片 本地图片: <Image source={require('../src/assets/x.jpg')}/> 本地图片可以无需指定尺寸(因为导入/打包 ...
- 使用block进行界面之间的反向传值
目标:在两个独立的控制器的界面之间进行反向传值 关键技术:block 代码编写及运行环境:Xcode6.4 / 模拟器8.4 语言:Objective-C 注:使用纯代码实现,不使用xib/story ...
- iOS Block界面反向传值
在上篇博客 <iOS Block简介> 中,侧重解析了 iOS Block的概念等,本文将侧重于它们在开发中的应用. Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C ...
- 代理和block反向传值
代理传值: // SendViewController.h #import <UIKit/UIKit.h> @protocol SendInFor <NSObject> -(v ...
- block 反向传值回调
/** * block 反向传值回调 */ //在第二个控制器中 // (1)声明block,在基类中已写好 // (2)写好传值方法 //(1) typedef void (^Return ...
- [ios][swift]使用swift闭包进行viewcontroller反向传值
闭包参考:http://c.biancheng.net/cpp/html/2285.html 闭包详解 传值参考:http://www.tuicool.com/articles/vy2uUz Sw ...
- OC10_代理反向传值
// // ProtectedDelegate.h // OC10_代理反向传值 // // Created by zhangxueming on 15/6/24. // Copyright (c) ...
随机推荐
- php memcached 扩展
php_memcache.dll下载地址:http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/ 查看php线程:phpinfo ...
- c# 二十四小时制
是显示数据时时间格式化12小时制的问题 HH为24小时制 DataFormatString="{0:yyyy-MM-dd HH:mm:ss}" hh为12小时制 DataForma ...
- SpringBoot------个性化启动Banner设置
1.添加Banner.txt文件 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ ...
- PySide_Qt文档介绍
http://qt-project.org/wiki/PySideDocumentation/
- 推荐一款好用的文件/文件夹对比工具 —— Beyond Compare
推荐一款好用的文件/文件夹对比工具 —— Beyond Compare! 有需要的人,用了都说好: 不知道这个是干嘛用的,说再多也没用.
- windows下模拟网络延时、丢包、抖动
1.Fiddler 免费软件 模拟网速功能比较单一(Rules --> Performance --> Simulate Modem speed),选项较少,Fiddler仅是减缓带宽并未 ...
- Python 字典 fromkeys()方法
Python 字典 fromkeys() 方法用于创建一个新的字典,并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None. fromkeys() 方法语法: 1 dict.f ...
- spring事务实现原理
实现原理 本质 如果你用过Spring AOP,那么理解注解事务就十分简单了.事务注解本质上实在事务方法加入一个Around切面,在方法开始前开始事务,在抛出异常后回滚事务.使用简单伪代码可以简单理解 ...
- 不偏移的天地图地图服务-SuperMap版
在<不偏移的天地图地图服务-ArcGIS版>中,提供了相应的服务地址:而SuperMap中,则是将纠偏的方法集成到程序中,只需要修改一个配置参数,则可以实现天地图的纠偏. 打开Web型数据 ...
- Thrift版本管理
对于健壮的服务,其中的数据类型必须一种机制来对其进行版本管理,尤其是它可以在不中断服务(或者更坏的情况,出现段错误)的前提下,增加或删除一个对象中的字段,或者改变一个函数的参数列表. 字段标识符 Th ...