博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React:propTypes
阅读量:6531 次
发布时间:2019-06-24

本文共 1698 字,大约阅读时间需要 5 分钟。

React.PropTypes has moved into a different package since React v15.5. Please use .

在React中,随着项目复杂度的增加,我们难免会遇到一些和类型相关的bug。React提供了一套用于类型检测(针对组件的props)的工具,并在版本15.5之后独立出来作为插件,只在开发模式下使用。因此我们可以不需要用到flow或typescript这类JS扩展语言。

1 import PropTypes from 'prop-types'; 2  3 class Greeting extends React.Component { 4   render() { 5     return ( 6       

Hello, {
this.props.name}

7 ); 8 } 9 }10 //定义完组件之后,对其propTypes进行设置。11 Greeting.propTypes = {12 name: PropTypes.string13 };

常见的类型:

1 MyComponent.propTypes = { 2   // You can declare that a prop is a specific JS primitive. By default, these 3   // are all optional. 4   optionalArray: PropTypes.array, 5   optionalBool: PropTypes.bool, 6   optionalFunc: PropTypes.func, 7   optionalNumber: PropTypes.number, 8   optionalObject: PropTypes.object, 9   optionalString: PropTypes.string,10   optionalSymbol: PropTypes.symbol,11 12   // Anything that can be rendered: numbers, strings, elements or an array13   // (or fragment) containing these types.14   optionalNode: PropTypes.node,15 16   // A React element.17   optionalElement: PropTypes.element,18 19   // You can also declare that a prop is an instance of a class. This uses20   // JS's instanceof operator.21   optionalMessage: PropTypes.instanceOf(Message),22   //...23 }

更多的类型在:

设置默认值:

1 class Greeting extends React.Component { 2   render() { 3     return ( 4       

Hello, {
this.props.name}

5 ); 6 } 7 } 8 9 // Specifies the default values for props:10 Greeting.defaultProps = {11 name: 'Stranger'12 };

这部分没什么好讲的。我们引入propTypes后,可以给自定义类的.propTypes赋值,这个值是一个对象形式的校验器,里面对类的props的各个属性设置了有效类型。之后如果我们传入的值不是有效类型,则控制台会发出警告,帮助我们避免类型错误。

 

转载于:https://www.cnblogs.com/alan2kat/p/7476930.html

你可能感兴趣的文章
项目积累——Blockingqueue,ConcurrentLinkedQueue,Executors
查看>>
JVM学习笔记(一)------基本结构
查看>>
活动目录之备份与恢复
查看>>
删除 Eclipse 的 configuration 目录
查看>>
MOXA的智能通信产品也大力支持WinCE.net了
查看>>
ActiveX开发知多少?
查看>>
你不得不知道的Visual Studio 2012(3)- 创建Windows应用程序
查看>>
Android操作系统2.0制作备份
查看>>
To XSS or not ? 杂谈
查看>>
TFTP服务器在Cisco设备上的应用(上传、下载IOS)
查看>>
获得文件和文件夹的所有权
查看>>
烂泥:学习mysql数据库主从同步复制原理
查看>>
Java相对路径读取文件
查看>>
PostgreSQL 商用版本EPAS(阿里云ppas) 自动(postgresql.conf)参数计算与适配功能
查看>>
烂泥:学习ssh之ssh隧道应用
查看>>
Android TableLayout 常用的属性介绍及演示
查看>>
Ajax跨域访问XML数据的另一种方式——使用YQL查询语句
查看>>
[原创]让您的服务器不再有被挂马的烦恼---文件安全卫士
查看>>
流水线和PC指针
查看>>
Fiddler设置抓取https请求
查看>>