组件的属性可以接受任意值. 有时候我们需要一种机制, 验证别人使用组件时, 提供的参数是否符合要求.
组件类的 PropTypes 属性, 就是用来验证组件实例的属性是否符合要求的.
var MyTitle = React.createClass({
propTypes: {
title: React.PropTypes.string.isRequried,
},
render() {
return <h1> {this.props.title} </h1>;
}
});
`</pre>
上面的 `MyTitle` 组件有一个 `title` 属性, `PropTypes` 告诉 React, 这个 `title` 属性是必须的, 而且数据类型是字符串.
如果在实例化的时候设置 `title=123`, 控制台会显示一行错误信息
<pre>`Warning: Failed propType: Invalid prop `title` of type `number` supplied to `MyTitle`, expected `string`.
`</pre>
此外, `getDefaultProps` 可以用来设置组件属性的默认值
<pre>`var MyTitle = React.createClass({
getDefaultProps() {
return {
title: 'Hello World'
};
},
render(){
return <h1>{this.props.title}</h1>;
}
})
ReactDOM.render(<MyTitle />, document.body); // 'Hello World'