前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >(四)props 的简写方式

(四)props 的简写方式

作者头像
老怪兽
发布2023-02-22 14:14:26
发布2023-02-22 14:14:26
1K00
代码可运行
举报
运行总次数:0
代码可运行

# 🐷一、props 的只读性质

# props 是只读的,只允许读取,不允许修改

  • 如果强行修改,就会出现一下的错误,不能在一个只读的属性上进行修改
代码语言:javascript
代码运行次数:0
复制
class Person extends React.Component {
    render() {
        console.log(this)
        const { naem, age, sex } = this.props
        // 如果在这里直接修改就会报错
        // this.props.name = '张三'
        return (
            <ul>
                <li>姓名:{name}</li>
                <li>性别:{sex}</li>
                {/* 在这里修改不报错,因为这里是运算,不是修改 */}
                <li>年龄:{age + 1}</li>
            </ul>
        )
    }
}

Person.propTypes = {
    name: PropTypes.string.isReauired,       // 字符串类型,必穿
    sex: PropTypes.string,   // 字符串类型
    age: PropTypes.number,   // number 类型
    speck:  PropTypes.func   // 类型为函数
}
Person.defaultProps = {
    sex: '男',  // 不传默认为男
    age: 18    // 不传默认为 18 岁
}

// 渲染组件到页面 并批量传递数据
const p = {name: 'tom', age: '18', sex: '女'}
ReactDom.render(<Person {...p} speck={speck}/>, doument.getElmentById('test'))
speck() {
    console.log('说话')
}

# 🐷二、props 的简写方式

  • 上面这种方式的写法,我们是在类的外部给类的原型对象上添加属性
  • 我们前面复习过,给类的原型对象上直接添加属性可以使用,赋值的方式
代码语言:javascript
代码运行次数:0
复制
class Person extends React.Component {
    // 在Person 的原型对象上添加了一个属性
    constructor() {
        this.a = '张三'
    }

    // 这里的写法同上面是一样的
    a = '张三'
    
}
  • 那么如何给 props 也简写在类的里面呢
代码语言:javascript
代码运行次数:0
复制
class Person extends React.Component {
    ...
}

Person.dome  = '我不是放在原型对象上,我是类自身的属性'
// 之前我们是这样写的
  • 把类自身的属性放到类的里面, 需要用到 static 这个关键词
代码语言:javascript
代码运行次数:0
复制
class Person extends React.Component {
    // 如果直接这样写赋值语句,是加在了 Person 的原型对象上
    Person.dome  = '我不是放在原型对象上,我是类自身的属性'

    // 前面加上 static 就变成了静态的,就变成了类自身的属性了
    static dome = '我是类自身的属性'
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年1月3日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 🐷一、props 的只读性质
  • # 🐷二、props 的简写方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档