本文地址:https://www.cnblogs.com/chenzhihong294/p/14330599.html
关于React组件实例中Props属性的使用以及注意事项:
1、prop-types.js文件引入
2、prop属性的使用方法
3、prop中标签属性的类型限制以及默认标签值设定
4、展开运算符批量传送属性
注意!!! 现在高版本的React都是将propTypes单独继承为一个js文件用于外部引入,而不是老版本的React.Proptypes.string.xxxxx。 <!-- 引入propTypes,用于对组件标签属性进行限制 --> <script type="text/javascript" src="../js/prop-types.js"></script> <script type="text/babel"> // 创建组件 class Person extends React.Component{ constructor(props){ // 构造器是否接收props,是否传递给super,取决于:是否希望在构造器中通过this访问props // 所以,类中的构造器能省略就省略,开发的时候基本不写构造器 console.log(props); super(props); } render(){ const {name,sex,age} = this.props; // this.props.name = "Jack"; //此行代码会报错,因为props是只读的,不可修改 return ( <ul> <li>姓名:{name}</li> <li>性别:{sex}</li> <li>年龄:{age}</li> </ul> ) } 注意!!! 一定要注意大小写 将标签属性的限制和默认值设定写在类组件里面,利用static静态修饰,相当于为类自身加属性,而不给类的实例对象加该属性。 // 对标签属性进行类型、必要性的限制 static propTypes = { name:PropTypes.string.isRequired, /* 字符串类型,必传 */ sex:PropTypes.string, age:PropTypes.number, // speak:PropTypes.func, //限制speak必须为一个函数传递过来 } // 指定默认标签属性值 static defaultProps = { sex:"保密", age:18, } } ReactDOM.render(<Person name="Tom"/>,document.getElementById('test1')) </script>