当前位置: 首页 > news >正文

react18子组件设置接收默认值和值类型验证

父组件传值

import ChildCom from './components/ChildCom'
export default function Person {return(<div><ChildCom name="alan-ben" age={18} score={[98, 97, 100]} /></div>)
}

子组件接收并验证类型

import React from 'react'
import PropTypes from 'prop-types'
export default function ChildCom (props) {const score = props.score.map((value,index) => {return(<span key={index} style={{padding: '4px'}}>{value}</span>)})return (<div><div>名字: {props.name}</div><div>年龄: {props.age}</div><div>性别: {props.sex}</div><div>各科成绩是:{score}</div><div>{props.children}</div></div>
}
// 设置默认值
ChildCom.defaultProps = {age: 20,sex: '男' // 如果不传的话这个就是默认值score: [78]
}
// 数据类型验证
ChildCom.propTypes = {// 类型验证age: PropTypes.number,sex: PropTypes.string,// 必须要有的children: PropTypes.element.isRequired,// 验证名字里面要有alan/*** * @param {*} props 整体的 props 对象 {name:... , age :...}* @param {*} propName 当前验证的 props 属性 name* @param {*} componentName 组件名*/name: function (props, propName, componentName) {// 如果开头不是alan的话,验证不通过if (!/alan-/.test(props[propName])) {return new Error(`组件名:${componentName}的属性${propName}验证不通过,需要的开头是'alan-'`)}},score: PropTypes.array
}

http://www.lryc.cn/news/344082.html

相关文章:

  • Java 高级面试问题及答案(二)
  • 数据统计:词频统计、词表生成、排序及计数、词云图生成
  • W801学习笔记二十四:NES模拟器游戏
  • ECMAScript 6简介
  • 第1个数据库:编号,文本,时间,
  • 线性数据结构-手写链表-LinkList
  • 快手客户端一二面+美团前端一面+腾讯企业微信开发客户端一面
  • 探索数据结构
  • VMware虚拟机中ubuntu使用记录(6)—— 如何标定单目相机的内参(张正友标定法)
  • 每日OJ题_记忆化搜索②_力扣62. 不同路径(三种解法)
  • 【微信小程序开发】微信小程序、大前端之flex布局方式详细解析
  • 代码随想录算法训练营第二十天:二叉树成长
  • Opensbi初始化分析:设备初始化-warmboot
  • 软考 系统架构设计师系列知识点之软件可靠性基础知识(13)
  • 将ESP工作为AP路由模式并当成服务器
  • Python深度学习基于Tensorflow(6)神经网络基础
  • 力扣HOT100 - 35. 搜索插入位置
  • MinimogWP WordPress 主题下载——优雅至上,功能无限
  • kube-prometheus部署到 k8s 集群
  • 从0开始学习python(六)
  • OpenGL 入门(三)—— OpenGL 与 OpenCV 共同打造大眼滤镜
  • Linux服务器安全基础 - 查看入侵痕迹
  • Java反射机制的实战应用:探索其魅力与局限
  • vue3项目 文件组成
  • C语言关键字 typedef 的功能是什么?
  • 【YoloDeployCsharp】基于.NET Framework的YOLO深度学习模型部署测试平台-源码下载与项目配置
  • 如何在 Ubuntu 12.04 VPS 上使用 MongoDB 创建分片集群
  • 阿里云VOD视频点播流程(1)
  • Python爬虫获取豆瓣电影Top100
  • 动态规划专训8——背包问题