PropTypes防止后期代码传参数错误,所以加一个校验,

代码:

import React, {Component,PropTypes} from 'react';
import {View, Text, StyleSheet,TouchableOpacity} from 'react-native'; class CustomView extends Component { static propTypes = {
name:PropTypes.string.isRequired,//姓名 isRequired必填项
like:PropTypes.array,//爱好
age:PropTypes.number,//年龄
adult:PropTypes.bool,//是否成年
sex: PropTypes.oneOf(['man', 'woman']),//性别
eat:PropTypes.func,//吃饭
object:PropTypes.shape({a: PropTypes.string, b: PropTypes.number}),//指定形式
arrayOf: PropTypes.arrayOf(PropTypes.number),//指定类型的数组
oneOfType: PropTypes.oneOfType([//指定其中一种类型
PropTypes.string,
PropTypes.number,
]),
objectOf: PropTypes.objectOf(PropTypes.number),//指定某种对象 } eat(value){
this.props.eat("banana");
}
render() {
return (
<View style={styles.container}>
<Text>name:{this.props.name}</Text>
<Text>like:{this.props.like}</Text>
<Text>age:{this.props.age}</Text>
<Text>adult:{this.props.adult}</Text>
<Text>sex:{this.props.sex}</Text>
<Text>shape:a:{this.props.object.a}b:{this.props.object.b}</Text>
<Text>arrayOf:{this.props.arrayOf}</Text>
<Text>oneOfType:{this.props.oneOfType}</Text>
<Text>objectOf:{this.props.objectOf}</Text>
<TouchableOpacity onPress={()=>this.eat("banana")}>
<Text>eat</Text>
</TouchableOpacity>
</View>
);
} } const styles = StyleSheet.create({
container: {
flex: 1,
alignItems:'center',
justifyContent: 'center'
}, });
 

使用:

  eat(value){
alert(value)
}
render() {
return (
<CustomView
name="lpp"
like={['画画','唱歌']}
age={19}
adult={true}
sex="man"
object={{a:"aa",b:12}}
arrayOf={[1,2,3,4,5,6]}
oneOfType="好人"
objectOf={[5,6,8,9]}
eat={(value)=>this.eat(value)}
/>
);
}
  /**
any: createAnyTypeChecker(),
element: createElementTypeChecker(),
instanceOf: createInstanceTypeChecker,
node: createNodeChecker(),
object: createPrimitiveTypeChecker('object'),
symbol: createPrimitiveTypeChecker('symbol'), string: createPrimitiveTypeChecker('string'),
array: createPrimitiveTypeChecker('array'),
number: createPrimitiveTypeChecker('number'),
bool: createPrimitiveTypeChecker('boolean'),
func: createPrimitiveTypeChecker('function'),
shape: createShapeTypeChecker
oneOf: createEnumTypeChecker,
arrayOf: createArrayOfTypeChecker,
objectOf: createObjectOfTypeChecker,
oneOfType: createUnionTypeChecker, */
 

最新文章

  1. Python算法-冒泡排序
  2. 通过组策略实现Firefox自动以当前域账号登录MOSS站点---(原创)
  3. DB设计原则(二)如何拆、分表
  4. [leetCode][016] Add Two Numbers
  5. 字符串全排列(permutation)
  6. 安装ipython import path error
  7. Linux Shell 数学运算
  8. 一:Tomcat 服务器 在45秒内未启动成功
  9. strman--java8字符串工具类
  10. tensorflow.python.framework.errors_impl.OutOfRangeError: FIFOQueue
  11. [20190130]删除tab$记录的恢复.txt
  12. OpenCV 初体验
  13. js高德地图手机定位
  14. 解决win环境下访问本机虚拟机中centos7 ftp服务器的问题
  15. vue 使用v-html指令渲染的富文本无法修改样式的解决方法
  16. aps.net core mvc中使用session
  17. 解决hash冲突的三个方法
  18. 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165304
  19. Mysql数据库 (JTree应用)
  20. P3144 关闭农场 并查集 反向

热门文章

  1. Error - SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM
  2. trace-cmd使用方法
  3. HighCharts-动态配置csv格式数据
  4. 在Android源码树中添加userspace I2C读写工具(i2c-util)
  5. VS2017 配置ImageMagick
  6. C++服务器下载文件的两种方式
  7. 我是怎样使用javassist将代码注入到帝国OL并进行调试的
  8. lamp环境配置
  9. ELK之使用kafka作为消息队列收集日志
  10. 线段树 || BZOJ 1112: [POI2008]砖块Klo