PropTypes

在开发组件时,组件可以接收调用者传递的数据,但是 js 是弱类型数据,这个是就需要判断数据的类型,PropTypes 就是校验 props 下的数据是否合格的一个机制
import { PropTypes, createClass } from 'react';
import { render } from 'react-dom';

// 定义组件
const Hello = createClass({
	propTypes : {
		//数据不允许为空
	    name: PropTypes.string.isRequired
	},
  	render: function(){
    	return <h1>hello : { this.props.name }</h1>;
  	}
});


render(
  	<div>
  		<Hello name="react.js"/>
  	</div>,
  	document.querySelector("#app")
);

注意

设置 propTypes 不能直接使用 es6 中的 class 语法去继承组件,目前 es6 不支持定义方法外的数据

更多格式

React.PropTypes.array.isRequired
React.PropTypes.bool.isRequired
React.PropTypes.func.isRequired
React.PropTypes.number.isRequired
React.PropTypes.object.isRequired
React.PropTypes.string.isRequired
React.PropTypes.symbol.isRequired
React.PropTypes.any.isRequired
React.PropTypes.arrayOf.isRequired
React.PropTypes.element.isRequired
React.PropTypes.instanceOf.isRequired
React.PropTypes.node.isRequired
React.PropTypes.objectOf.isRequired
React.PropTypes.oneOf.isRequired
React.PropTypes.oneOfType.isRequired
React.PropTypes.shape.isRequired