• es6 class类中可以直接写赋值语句


    -

    class Car{
      // 类中考科一直接写赋值语句,如下代码的含义是:给Car的实例对象添加一个属性,名为a,值为1
      a = 1;
      b
    }
    console.log(Car);
    let c = new Car()
    console.log(c, 'c==='); // Car {a: 1, b: undefined}

    react类组件可以借助类的这个特性,省去写构造器

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>组件实例核心属性1:state</title>
    </head>
    <body>
      <!-- 准备一个容器 -->
      <div id="test"></div>
      <!-- 引入react核心库 -->
      <script src="https://cdn.bootcdn.net/ajax/libs/react/18.2.0/umd/react.development.min.js"></script>
      <!-- 引入react-dom, 用于支持react操作dom, 需要在核心库之后引入 -->
      <script src="https://cdn.bootcdn.net/ajax/libs/react-dom/18.2.0/umd/react-dom.development.min.js"></script>
      <!-- 引入babel.js,用于将jsx转化为js -->
      <script src="https://cdn.bootcdn.net/ajax/libs/babel-standalone/7.18.7/babel.min.js"></script>
    
      <script type="text/babel">
        // 1.创建类组件
        class Weather extends React.Component {
          render() {
            return <h1 id="title" onClick={this.changeWeather}>今天天气很{this.state.isHot ? '炎热' : '凉爽'}</h1>
          }
          // 类里写赋值语句,相当于在类实例上加上state属性(可以省略掉写构造器)
          // 如果组件不需要接收props,推荐这样写,不用写构造器
          state = { isHot: true };
          // 以下代码,直接把函数赋值给变量,相当于在类的实例对象上添加了这么一个方法,另外,箭头函数自身没有this,会逐层往上找,找到类的实例对象(注意这里必须是箭头函数)
          // 自定义方法-----要用赋值语句的形式+箭头函数
          // 这样可以省去在构造器中改变this的指向
          changeWeather = () => {
            const { isHot } = this.state;
            this.setState({ isHot: !isHot })
          }
        }
        ReactDOM.render(<Weather />, document.getElementById('test'))
      </script>
    </body>
    </html>

    -

  • 相关阅读:
    min-height IE6的解决方案
    javascript数据类型检测方法
    typeof、instanceof与isPrototypeOf()的差异与联系
    获取真实IP地址
    表格中的IE BUG
    【译】你对position的了解有多少?
    vim快捷键
    syntaxerror : unexpected token &
    .Net 高效开发之不可错过的实用工具
    @media screen 针对不同移动设备——响应式设计
  • 原文地址:https://www.cnblogs.com/fqh123/p/16614459.html
Copyright © 2020-2023  润新知