React和Vue 如何限制组件传值数据类型及设置默认值

react 使用class类的静态方法为子组件添加静态属性 propTypes 和 defaultProps

Vue 相对方便简洁一点 直接在子组件的props上接收值时设置类型限制和默认值

// react 
import { Components } from 'react' // 引入react的`Components`类
import PropsType from 'props-type' // 引入类型限制

export class child extends Components {
  // 设置子组件接收数据类型限制
  static propTypes = {
    name: PropsType.string.isRequired, // 一个必传的字符串
    age: PropsType.number, // 非必传的数字
    vulgarTycoon: PropsType.boolean // 非必传的布尔值
  }
  // 设置默认值
  static defaultProps = {
   name: '思聪',
   age: 38,
   vulgarTycoon: true
  }
} 

// Vue
// 在子组件的props内操作
{
 props: {
  name: {
   type: String || [String, Number] // 类型 //(`null` 和 `undefined` 会通过任何类型验证)
   default: '思聪' || () => '思聪', // 默认值
   required: false // 是否必传 默认为 false
  }
 }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值