很简单的一个小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>
)
}

最新文章

  1. WWW读取安卓外部音乐文件
  2. 自动化运维,远程交互从服务器A上ssh到服务器B上,然后执行服务器B上的命令。
  3. NSString 和NSData 转换
  4. 在JAVA中ArrayList如何保证线程安全
  5. 问题解决——warning C4503 超出修饰名的长度,名称被截断
  6. .NET设计模式系列文章 from TerryLee
  7. linux 安装svn最新版本
  8. Object-C - 类的定义
  9. 企业级应用框架(五)IOC容器在框架中的应用
  10. java 对list中对象按属性排序
  11. iOS进阶推荐的书目
  12. tp框架实现文件上传
  13. 在docker container中运行docker-compose
  14. linux下高可用LVS搭建及配置方法
  15. 我们常说的 CAS 自旋锁是什么
  16. Feature Extractor[SENet]
  17. P1558 色板游戏 线段树+二进制状压
  18. Css学习(4)
  19. 学习第一天-JAVA
  20. NOIP2018考前抱佛脚——图论基础复习

热门文章

  1. highCharts图表入门简介
  2. [原]OpenGL基础教程(一)多边形绘制
  3. file类型input框设置上传相同文件,并都可以触发change事件。
  4. mui---获取入口文件对象
  5. Hadoop初期学习和集群搭建
  6. 时间模块和random模块
  7. git rebase 操作撤销
  8. C#打印标签
  9. CH6201 走廊泼水节【最小生成树】
  10. 删除一个cjson导致系统死机