React 组件实例的三大核心—props

0x00 前言

文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取

0x01 props 基础

1.props渲染

1.1 常规渲染

class Person extends React.Component{
                render(){
                    const {name,age,sex} = this.props
                    return (
                        <ul>
                            <li>姓名:{name}</li>
                            <li>性别:{sex}</li>
                            <li>年龄:{age}</li>
                        </ul>
                    )
                }
            }

            ReactDOM.render(<Person name="Em" age="18" sex="女"/>,document.getElementById('test'))

1.2 展开运算符渲染

            const p ={name:"张三",age:"18",sex:"女"}

            ReactDOM.render(<Person {...p}/>,document.getElementById('test2'))

2.props限制

2.1 属性限制

Person.propTypes ={
                name:PropTypes.string.isRequired,
                sex:PropTypes.string,
                age:PropTypes.number,
            }

2.2 必要性限制

name:PropTypes.string.isRequired,

2.3 默认值

            Person.defaultProps={
                sex:"无",
                age:"18"
            }

2.4 限制方法

            Person.propTypes ={
                name:PropTypes.string.isRequired,
                sex:PropTypes.string,
                age:PropTypes.number,
                speck:PropTypes.func,
            }

3.props只读

在props中的属性是只读的,无法修改数据

4.函数式 props使用

<script type="text/babel">
        function Person(props){
            const {name,age,sex} = props
            return (
                <ul>
                    <li>姓名:{name}</li>
                    <li>性别:{sex}</li>
                    <li>年龄:{age}</li>
                </ul>
            )
        }

        Person.propTypes ={
                name:PropTypes.string.isRequired,
                sex:PropTypes.string,
                age:PropTypes.number,
                speck:PropTypes.func,
            }

        Person.defaultProps={
            sex:"无",
            age:18
        }


        ReactDOM.render(<Person name="张三"/>,document.getElementById("test"))
    </script>

other

欢迎大家关注我朋友的公众号 皓月当空w 分享漏洞情报以及各种学习资源,技能树,面试题等。

以上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值