react中属性的验证

前言

为了验证传递进来的数据是否符合我们期望的类型或者要求,React提供了PropTypes这个对象用于校验属性的类型

准备工作

  1. 首先我们要先安装一个propTypes库,脚手架命令 npm i prop-types --save
  2. 接着在使用前得先引入prop-type
  3. 定义好一个对象,添加属性验证

简单案列

import React, { Component } from 'react'
//1. 引入验证库
import PropTypes from 'prop-types'; 
/* 属性的校验 */
class Name extends Component{
 // 固定 defaultProps
 static defaultProps = {
   name:"pyq"
 }
 constructor(props){
   super(props);
   console.log(props);
 }
 render(){
   return <section>{this.props.name}</section>
 }
}

class Age extends Component{
 render(){
   return <section>{this.props.age}</section>
 }
}
Age.defaultProps = {
 age:18
}
class Action extends Component{
 render(){
   return <section>{this.props.action}</section>
 }
}
// 2. 添加验证
Action.propTypes = {
//预想action的是number类型的
 action: PropTypes.number
}
export default class App extends Component {
 render() {
   return (
     <div>
         <h1>属性的验证</h1>
         <Name></Name>
         <Age></Age>
          {/* 这里传的却是字符串类型 */}
         <Action action="动弹" ></Action>
     </div>
   )
 }
}

虽然不会影响代码的运行,但控制台会抛出警告,这样就可以用来确保接收到的数据是有效的
在这里插入图片描述
proptypes可以校验的组件类型的属性类型表:

类型propTypes对应的属性
StringpropTypes.string
NumberpropTypes.number
BooleanpropTypes.bool
FunctionpropTypes.func
ObjectpropTypes.object
ArraypropTypes.array
SymbolpropTypes.symbol
Element(React元素)propTypes.element
Node 可被渲染的节点,数字,字符串,React元素或者由这些类型的数据组成的数组)propTypes.node
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值