React 之 函数式组件使用props

对于react的三大核心属性state、props、refs,只有props能被函数式组件使用,因为只有props属性可以作为参数调用。
在这里插入图片描述

相关代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>3_函数组件使用props</title>
</head>
<body>
    <!--准备好一个容器-->
    <div id="test1"></div>
    <div id="test2"></div>

    <!--引入react核心库-->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <!--引入react-dom,用于支持react操作DOM-->
    <script type="text/javascript" src="../js/react-dom.development.js"></script>
    <!--引入babel,用于将jsx转为js-->
    <script type="text/javascript" src="../js/babel.min.js"></script>
    <!--引入prop-types,用于将对组件标签属性进行限制-->
    <script type="text/javascript" src="../js/prop-types.js"></script>

    <script type="text/babel">   //<!--此处一定要写babel-->
       //创建组件
        function Person(props){
            const {name,gender,age} = props
            return (
                    <ul>
                        <li>姓名:{name}</li>
                        <li>性别:{gender}</li>
                        <li>年龄:{age}</li>
                    </ul>
                )
        }

        Person.propTypes={
            name:PropTypes.string.isRequired,     //name指定为字符串类型,而且必须得填,不能为空
            gender:PropTypes.string,
            age:PropTypes.number,
            speak:PropTypes.func,       //限制speak为函数
        }
        Person.defaultProps = {         //如果gender或者age值为空,就使用默认值
            gender:'男',
            age:18
        }
        //渲染组件到页面
        ReactDOM.render(<Person name="sandy" age={18} gender="女" speak={speak}/>,document.getElementById('test1'))
        const p={name:'小唐',age:18,gender:'女'}
        ReactDOM.render(<Person {...p}/>,document.getElementById('test2'))

        function speak(){
            console.log('happy');
        }
    </script>
    </body>
    </html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值