React Native 之 定义的组件 (跨文件使用)
哈哈的~~~今天介绍的是自定义组件 然后去使用这个组件,让这个组件传递这各种文件之间 哈哈 下面开始吧!!!!
我们所要创建的是一个自定义的Button,先创建一个js文件起名为MyButton, 且触摸后的底色、触发事件响应的函数、
图片资源、以及图片大小都是根据传过来的值确定的。(所传递进来的参数决定)
ok!!下面我们需要在MyButton.js 这个文件中添加一些原生的控件(组件)
import React, {
AppRegistry,
Component,
Image,
TouchableHighlight,
} from 'react-native';
然后就开始创建我们这个按钮组件啦!!!一般情况下我们会用一个叫TouchableHighlight 的这个组件去包裹里面的内容
class MyButton extends Component {
render() {
return (
<TouchableHighlight
underlayColor={this.props.bgColor}
activeOpacity={0.5}
onPress={this.props.onPress}
>
<Image
source={require('./res/himi.png')}
style={ {
width: this.props.imgWidth,
height: this.props.imgHeight
}}
/>
</TouchableHighlight>
)
}
}
其中:我们应该注意这个东东~ this.props 妹的~~这是什么鬼???
其实,这不是鬼~通俗的来说这个就是实例化的对象 比如说我创建了一个对象叫‘鬼’,那么 鬼=this.props ,所以鬼身上的属性也就是this.props的属性 (方法+属性)
那么,我这个this.props.xxx等属性就等待着实例化的“鬼来传递”,然后去操作其他的内容。。。。么么哒!!!
当然:
需要注意的:this.props.children 的值有三种可能:
a.如果当前组件没有子节点,它就是 undefined ;
b.如果有一个子节点,数据类型是 object ;
c.如果有多个子节点,数据类型就是 array 。所以,处理 this.props.children 的时候要小心。
ok!组件创建好了以后~~我们就可以去将创建好的组件变形为一个能够传出去的组件
module.exports = MyButton;
ok!!上面的代码表示你这个组件可以被传出去了!~~~
注释:可以将许多的组件集中在一个组件上 然后传递出出来
大结局 :
下面我们就可以大胆的使用这个组件了,比如我们在另一个文件中使用这个组件:
<MyButton
bgColor='#000'
onPress ={()=>{Alert.alert('Himi', ' MyBtton IS Click! ');}}
imgWidth={100}
imgHeight={100}
>
</MyButton>
可以看出~这里将许多的属性参数全部传给了this.props,然后去执行一些操作!!!!!
注意:属性的名称一定要一样~要不然这个属性就找不到老祖宗了~~
React Native 之 定义的组件 (跨文件使用)的更多相关文章
- React Native 项目常用第三方组件汇总
React Native 项目常用第三方组件汇总 https://www.jianshu.com/p/d9cd9a868764?utm_campaign=maleskine&utm_conte ...
- React Native知识5-Touchable类组件
React Native 没有像web那样可以给元素绑定click事件,前面我们已经知道Text组件有onPress事件,为了给其他组件 也绑定点击事件,React Native提供了3个组件来做这件 ...
- 8、手把手教React Native实战之ReactJS组件生命周期
1.创建阶段 getDefaultProps:处理props的默认值 在React.createClass调用 2.实例化阶段 React.render(<HelloMessage 启动之后 g ...
- react native 的图表开源组件react-native-chart-android
react-native-chart-android是一个图表开源组件,使用方法可以去这里 由于需要在数据上加上触摸事件,而github上没有说明看源码找了半天才找到下面的解决方法,特此记录一下: 在 ...
- React Native的SliderIOS滑块组件
import React,{Component}from 'react'; import { AppRegistry, StyleSheet, Text, View, SliderIOS, } fro ...
- [RN] React Native 删除第三方开源组件依赖包 后 还要做的 (以 删除 react-native-video为例)
近期测试使用了下 react-native-video 使用一直不成功,后来想着删除掉, 使用命令: npm uninstall react-native-video 重新编译后,还是一直报错 后来 ...
- beeshell —— 开源的 React Native 组件库
介绍 beeshell 是一个 React Native 应用的基础组件库,基于 0.53.3 版本,提供一整套开箱即用的高质量组件,包含 JavaScript(以下简称 JS)组件和复合组件(包含 ...
- React Native常用第三方组件汇总--史上最全 之一
React Native 项目常用第三方组件汇总: react-native-animatable 动画 react-native-carousel 轮播 react-native-countdown ...
- React Native常用第三方组件汇总--史上最全[转]
本文出处: http://blog.csdn.net/chichengjunma/article/details/52920137 React Native 项目常用第三方组件汇总: react-na ...
随机推荐
- 包含.h就可以用其对应的函数
//callee.h 被调用者 #pragma once void display(); //展示函数 //callee.cpp 被调用者 #include "callee.h" ...
- POJ2485:Highways(模板题)
http://poj.org/problem?id=2485 Description The island nation of Flatopia is perfectly flat. Unfortun ...
- SDUT2826:名字的价值
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2806 名字的价值 Time Limit: 10 ...
- 如何给Pycharm加上头行 # *_*coding:utf-8 *_*?
File>Setting>Editor>Code Style>File and Code Templates>Python Script 后面加上 # *_*codin ...
- 使用fiddler对手机APP进行抓包
在做手机或移动端APP的接口测试时,需要从开发人员那里获取接口文档,接口文档应该包括完整的功能接口.接口请求方式.接口请求URL.接口请求参数.接口返回参数.如果当前项目没有接口文档,则可以使用fid ...
- 代码编译 Compile、Make、Build 的区别
代码编译 Compile.Make.Build 的区别 https://blog.csdn.net/fanzheng220112583/article/details/7780250 VC++6.0中 ...
- centos 专题-各种配置应有尽有
你想要的在这里都能得到解决: http://www.linuxidc.com/topicnews.aspx?tid=14
- js随机点名系统
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ef延迟加载不到导航属性问题
最近做项目踩到了一个ef问题上的坑,导航属性(外键关键,如子表或主表等)“.”出来后是Null,外键值也对,数据库和ef的关系配置也都正确,就是加载不出来.后来发现实体里导航属性前少了个virtual ...
- 问题排查之'org.apache.rocketmq.spring.starter.core.RocketMQTemplate' that could not be found.- Bean method 'rocketMQTemplate' in 'RocketMQAutoConfiguration' not loaded.
背景 今天将一个SpringBoot项目的配置参数从原有的.yml文件迁移到Apollo后,启动报错“Bean method 'rocketMQTemplate' in 'RocketMQAutoCo ...