很简单的一个小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. 这才是真正的裸眼3D!超级震撼!!

    大家有没认为有意思啦,反正俺是被震撼到了. 好奇异-- ! " src="http://www.yixieshi.com/uploads/allimg/141116/1446431 ...

  2. [Full-stack] 快速上手开发 - React

    故事背景 [1] 博客笔记结合<React快速上手开发>再次系统地.全面地走一遍. [2] React JS Tutorials:包含了JS --> React --> Red ...

  3. C++ Release编译时如何对某段代码不进行优化

    optimize#pragma optimize( "[optimization-list]", {on | off} ) Feature Only in Professional ...

  4. C#设计模式--观察者模式(发布-订阅模式)

    0.C#设计模式--简单工厂模式 1.C#设计模式--工厂方法模式 2.C#设计模式--抽象工厂模式 3.C#设计模式--单例模式 4.C#设计模式--建造者模式 5.C#设计模式--原型模式 6.C ...

  5. Android数据解析——JSON

    示例一: 有这样一个JSON需要解析,比如: {"thresholds": {"1e-3": 65.3,"1e-5": 76.5," ...

  6. autolayout 高度自适应

    https://lvwenhan.com/ios/449.html #import "ViewController.h" #import "MyTableViewCell ...

  7. scala breeze使用替换底层线性库

    scala -J-Dcom.github.fommil.netlib.NativeSystemBLAS.natives=mkl_rt.dll -cp "D:\betn\Scala\Scala ...

  8. ipv6禁用导致rpcbind服务启动失败解决办法

    参考文档:http://blog.51cto.com/hld1992/2055028

  9. IIS8.5 Error Code 0x8007007e HTTP 错误 500.19的解决方法

    window server 2012R2 IIS8.5 引用:https://www.52jbj.com/yunying/340443.html HTTP 错误 500.19 - Internal S ...

  10. sql的sp存储过程详解

    store procedure (存储过程) http://www.cnblogs.com/xiangzhong/p/5038338.html 调优的几个关键的步骤--sp_lock,sp_who h ...