propTypes是react中用来对参数举行范例检测的,固然要运用这个插件,得先装置这个插件,以下:
npm install prop-types --save
然则假如你是直接用dva建立的项目,无需装置,直接引入即可,以下:
import React from 'react';
import PropTypes from 'prop-types';
class PropType extends React.Component {
render() {
return (
<div>
<div>123</div>
<div>{this.props.content}</div>
</div>
)
}
}
PropType.propTypes = {
content:PropTypes.string.isRequired
}
export default PropType;
上面谁人例子中能够看出,要引入组件PropType,必须得传入参数范例为字符串的content参数,不然会报错
import React from 'react';
import { connect } from 'dva';
import PropType from './propTypes/propTypes.js'
function IndexPage() {
return (
<div>
<PropType content={"123"}/>
</div>
);
}
IndexPage.propTypes = {
};
export default connect()(IndexPage);
PropTypes经常使用的数据范例检测以下:
- 字符串范例PropTypes.string
- 布尔范例PropTypes.bool
- 函数范例PropTypes.func
- 数组范例PropTypes.array
- 数字范例PropTypes.number
- 对象范例PropTypes.object
- 元素PropTypes.element
- 传入任何东西都能够PropTypes.node
- 挑选特定值PropTypes.oneOf([‘是’, ‘否’, “是不是”])
- 挑选诸多范例中的一种(恣意范例)PropTypes.oneOfType:
PropTypes.oneOfType([
PropTypes.string,
PropTypes.number
]),
11.具有某种范例的数组PropTypes.arrayOf(PropTypes.number):
PropTypes.arrayOf(PropTypes.number)
12.具有某种范例属性值的对象PropTypes.objectOf(React.PropTypes.number)
PropTypes.objectOf(React.PropTypes.number)
13.款式范例PropTypes.shape
PropTypes.shape({
color: PropTypes.string,
fontSize: PropTypes.number
})
14.任何数据范例PropTypes.any.isRequired
注重: isRequired示意必要的参数,假如设置了isRequired没有参数传过来,则会报错
PropTypes比较经常使用的应当就是以上那些范例了,假如后期有新发现会不间断更新文章。