React 属性默认值和 类型检查 PropTypes的使用
程序员文章站
2024-01-29 13:51:46
...
属性默认值 和 类型检查
1. 属性默认值
通过一个静态属性defaultProps
告知react属性默认值
A. 函数组件默认值
export default function DefineCom(props) {
return (
<div>
a :{props.a}, b : {props.b}, c : {props.c}
</div>
)
}
DefineCom.defaultProps = {
a : "1",
b : 2,
c : "3"
}
- 如果传递
<DefineCom a = "111"/>
这样会覆盖 - 函数组件的混合是在函数调用之前完成混合的
B . 类组件默认值
// 类使用默认值也是一样的
DefineCom.defaultProps = {
a : "1",
b : 2,
c : "3"
}
//或者
static defaultProps = {
}
- 类组件是在构造函数之前完成混合
2. 属性类型检查
使用库:prop-types
对组件使用静态属性propTypes
告知react如何检查属性
PropTypes.any://任意类型
PropTypes.array://数组类型
PropTypes.bool://布尔类型
PropTypes.func://函数类型
PropTypes.number://数字类型
PropTypes.object://对象类型
PropTypes.string://字符串类型
PropTypes.symbol://符号类型
PropTypes.node://任何可以被渲染的内容,字符串、数字、React元素
PropTypes.element://react元素
PropTypes.elementType://react元素类型
PropTypes.instanceOf(构造函数)://必须是指定构造函数的实例
PropTypes.oneOf([xxx, xxx])://枚举
PropTypes.oneOfType([xxx, xxx]); //属性类型必须是数组中的其中一个
PropTypes.arrayOf(PropTypes.XXX)://必须是某一类型组成的数组
PropTypes.objectOf(PropTypes.XXX)://对象由某一类型的值组成
PropTypes.shape(对象): //属性必须是对象,并且满足指定的对象要求
PropTypes.exact({...})://对象必须精确匹配传递的数据
//自定义属性检查,如果有错误,返回错误对象即可
属性: function(props, propName, componentName) {
//...
}
推荐阅读
-
React 属性默认值和 类型检查 PropTypes的使用
-
react中使用 PropTypes 进行类型检查
-
MySQL数据库的使用优势、数据库类型、常用的属性约束和常用存储引擎介绍
-
React props和state属性的具体使用方法
-
C#程序编写高质量代码改善的157个建议【4-9】[TryParse比Parse、使用int?来确保值类型也可以为null、readonly和const、0值设为枚举的默认值、避免给枚举类型的元素提供显式的值、习惯重载运算符]
-
JavaScript如何使用运算符和属性判断对象类型的方法总结
-
JavaScript如何使用运算符和属性判断对象类型的方法总结
-
MySQL数据库的使用优势、数据库类型、常用的属性约束和常用存储引擎介绍
-
React props和state属性的具体使用方法
-
C#程序编写高质量代码改善的157个建议【4-9】[TryParse比Parse、使用int?来确保值类型也可以为null、readonly和const、0值设为枚举的默认值、避免给枚举类型的元素提供显式的值、习惯重载运算符]