Props属性验证
import One from "./components/one"
class App extends Component{
render(){
let userArr = [
{id:1,sex:"男"},
{id:2,sex:"女"}
]
return (
<div>
<One num={true} userArr={userArr}/>
</div>
)
}
}
One组件:
//定义组件的默认属性
//优先级比较低 如果外部传入同名属性,就会将其覆盖掉
static defaultProps = {
num:100
}
static propTypes = {
//限定外部传入的num属性可以是number/string/boolean类型的
num: PropTypes.oneOfType([PropTypes.number,PropTypes.string,PropTypes.bool]),
//规定了外部必须传入一个userArr的数组,结构是一个对象,
//对象里面包含两个字段分别是id:number.isRequired,sex:string.isRequired
userArr:PropTypes.arrayOf(PropTypes.shape({
id:PropTypes.number.isRequired,
sex:PropTypes.string.isRequired
})).isRequired
}