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>
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix