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

(九)state 的简写方式

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

# 🍧一、state 的简写方式

# 课前预热
  • 在类中不能直接定义变量赋值,可以直接赋值,直接赋值就是往原型上追加一个属性
代码语言:javascript
代码运行次数:0
复制
class Car {
    constructor(name, price) {
        this.name = name
        this.price = price
        this.a = 1
    }
}
const  c1 = new Car('奔驰', 199)
console.log(c1)
  • 等价于
代码语言:javascript
代码运行次数:0
复制
class Car {
    constructor(name, price) {
        this.name = name
        this.price = price
        // this.a = 1
    }
    // 直接赋值,给 Car 的实例对象添加一个属性
    a = 1
}
const  c1 = new Car('奔驰', 199)
console.log(c1)

:::说明 明白了上面的写法,就知道 state 该怎么简写了 :::

# 简写 state
代码语言:javascript
代码运行次数:0
复制
class Person {
    // 赋值语句
    state = {
        isMood: false
    }

    render() {...}
}

// 渲染组件
ReactDom.render(<Person/>, document.getElmentById('test'))
# 简写方法
代码语言:javascript
代码运行次数:0
复制
class Person {
    // 赋值语句
    state = {
        isMood: false
    }

    render() {...}

    // 赋值语句,只能写箭头函数,箭头函数是没有自己的 this 的他就像向外层找,就找到实例的 this
    demo = () => {
        const isMood = this.state.isMood
        this.setState({isMood: !isMood})
    }
}

// 渲染组件
ReactDom.render(<Person/>, document.getElmentById('test'))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年1月3日,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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