【react】_state的简写方式

在真实的类组件中,不会出现构造器,想把自定义的属性添加到实例对象上,在类中直接赋值即可,但切记:只有固定的值才可能这样写,如果赋的是一个变量,还是要写构造器

class Weather extends React.Component {
      // constructor(props) {
        // super(props)     
        // this.state = { isHot: false, wind: '风' }   
        // this.newWeather = this.changeWeather.bind(this)      
      // }
      state = { isHot: false, wind: '风' }    // 往weather的实例对象的state上添加属性
} 

在真实的类组件中,也无需大量的操作自定义方法的this指向,显得代码很冗余,自定义方法——用赋值语句的形式+箭头函数

class Weather extends React.Component {
      /* 
        箭头函数没有自己的this,他找其外层函数的this去作为自己的this
      */

      // 原本自定义的changeWeather方法是挂载在weather的原型对象上,但是这样用箭头函数赋值写后,changeWeather方法就挂在在weather的实例对象身上
      changeWeather = () => {
        const isHot = this.state.isHot
        this.setState({ isHot: !isHot })
        console.log(this)   // weather的实例对象
      }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值