React入门(二)—— Props属性

本文地址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>
原文地址:https://www.cnblogs.com/chenzhihong294/p/14330599.html