说明:

对于组件来说,props是外来的,无法保证组件使用者传入什么格式的数据
如果传入的数据格式不对,可能会导致组件内部报错
关键问题:组件的使用者不知道明确的错误原因

作用

1.允许创建组件的时候 指定props的类型,格式
2.捕获使用组件时因为props导致的错误,给出明确的错误指示 增加组件的健壮性

使用步骤

1.下载安装

npm i prop-types
or
yarn add prop-types

2.在需要的组件中导入prop-types包

import PropTypes from 'prop-types'

3.使用组件名.propTypes={} 来给组件的props添加校验规则

校验规则通过PropTypes对象来指定 (注意propTypes 和 PropTypes 的写法)

App.propTypes = {colors: PropTypes.array //规定传入的值的类型为数组**约束规则**
1.常见类型:array  bool  func  number   object   string
2.React元素:element
3.必填项:isRequired     例如:PropTypes.func.isRequired
4.特定结构的对象  shape({})
}

4. 给props设置 默认值

例如场景:分页组件—>每页显示的默认条数
作用:给props设置默认值 在未传入props时生效

App.defaultProps={pageSize:10
}

react props校验操作--PropTypes相关推荐

  1. React的Props校验与默认值

    React的Props使用 React的props校验 一.使用步骤: props校验需要先安装prop-types这个库 npm i -S prop-types 引用prop-types ​ imp ...

  2. React的Props检查:PropTypes

    一.概述 props是React组件接收的外部参数,相当于是组件暴露给外部的接口.PropTypes的作用更多的是一种文档性质的限制,通过给每个props属性设置对应的PropTypes来提示开发者和 ...

  3. 前端框架--React props与React state

    版权声明:本文为博主原创文章,未经博主允许不得转载. 二者区别 state 和props 主要的区别在于子组件通过props来传递数据,一旦外部传入数据后, props 不可改变. 而 state作为 ...

  4. react 执行入口_如何使用React执行CRUD操作

    react 执行入口 by Zafar Saleem 通过Zafar Saleem 如何使用React执行CRUD操作 (How to perform CRUD operations using Re ...

  5. 模块开发之React使用第三方库PropTypes属性限制(十二)

    模块开发之React使用第三方库PropTypes属性限制(十二) 前言 这是一个纯配置的第三方库模块,所以我们需要掌握知识不需要太详细.能知道并拿来即用即可. 下面以使用该模块的背景展开,然后介绍使 ...

  6. [react] props.children.map和js的map有什么区别?为什么优先选择react的?

    [react] props.children.map和js的map有什么区别?为什么优先选择react的? React.Children.map 能够处理未知数据类型,即使 React.childre ...

  7. [react] React中怎么操作虚拟DOM的Class属性

    [react] React中怎么操作虚拟DOM的Class属性 render() { this.debug('render ....'); this.components.push(<Atten ...

  8. React 对组件props限制 ( prop-types 依赖)

    在 React 项目中对组件参数限制. 下载 prop-types 依赖包 yarn add prop-types 或 npm i prop-types在模块中引入并使用 import PropTyp ...

  9. 与钩React过度-实际操作

    It all started with a tweet by Eric Elliott and everyone loses their mind. 一切始于埃里克·埃利奥特(Eric Elliott ...

最新文章

  1. winxp批处理重启计算机,WinXP使用关机命令shutdown的方法
  2. Oracle 数据库创建表空间、创建用户指定表空间
  3. ASP.NET生成WORD文档服务器部署注意事项
  4. java高并发抢单编程模型_Java高并发模型
  5. ASP.NET中对STA COM组件的不正确调用产生的w3wp远程DoS
  6. 计算机上的框英文,电脑打开steam平台弹出一个英文框的解决方法
  7. python list倒序_python数据分析(1):内建序列函数
  8. WordPress的.htaccess优化技巧是什么
  9. 打好高远球要注意的三要素
  10. Cubieboard1 引导安装 Debian 系统
  11. 斩断***黑手:如何使用IceSword冰刃
  12. Pytorch+LSTM+Encoder+Decoder实现Seq2Seq模型
  13. 计算机会议论文EI检索,ei检索会议论文算期刊_ei论文检索_ei会议论文算核心吗...
  14. 视频怎么调整尺寸 裁剪视频画面尺寸大小的方法
  15. js找出两个数组中不同的元素
  16. 房价 APP - 房地产数据查询, 房产投资参考,国家统计局房地产数据
  17. B-4 真分数的约分
  18. vbs计算机代码,vbs运行一个程序的代码
  19. Influxdb CQ RP
  20. 回到过去看未来(1)

热门文章

  1. win上截图标记工具snipaste
  2. 免费视频直播、点播H5播放器SkeyeWebPlayer播放常见问题
  3. 创业案例|10个月$3亿市值的农业智能科技如何实现
  4. UC浏览器视频播放缓存以及视频下载分析
  5. 详情页返回列表页实现定位和缓存
  6. ElasticSearch 踩过的坑
  7. 视频剪辑工具,教你批量分割视频,并提取封面保存为图片格式
  8. Android recyclerView 多布局
  9. 致Android开发者的Kotlin入门
  10. asp mysql 查询记录数_ASP如何查询ACCESS数据库中上一周的所有记录