propTypes 的使用
propTypes:接受外部传过来的参数 并对其做强类型检验
import React, { Component } from "react";
import PropTypes from 'prop-types'
//TodoItem 代表一个子组件
// TodoItem.propTypes 对父组件的属性做强类型校验
TodoItem.propTypes = {
test:PropTypes.string.isRequired, // isRequired 是必传 的意识
itemHtml: PropTypes.string, //校验字符串类型
delItem: PropTypes.func,//校验 函数提
itemIndex:PropTypes.number , //校验数字
optionalArray: PropTypes.array,//校验数组
optionalObject: PropTypes.object, //校验对象
//多种类型的组合
// 一个对象可以是几种类型中的任意一个类型
optionalUnion: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
PropTypes.instanceOf(Message)
]),
// 可以指定一个数组由某一类型的元素组成
optionalArrayOf: PropTypes.arrayOf(PropTypes.number),
// 可以指定一个对象由某一类型的值组成
optionalObjectOf: PropTypes.objectOf(PropTypes.number),
// 可以指定一个对象由特定的类型值组成
optionalObjectWithShape: PropTypes.shape({
color: PropTypes.string,
fontSize: PropTypes.number
}),
}
// defaultProps 给必传项设置默认值
// defaultProps 给必传项设置默认值
TodoItem.defaultProps = {
test:'demo'
}