class类 和 react类组件
类的理解

1 // 创建一个person类
2 class Person {
3 /* */
4 // 构造器方法
5 constructor(name, age) {
6 // this指向 => 类的实例对象
7 this.name = name;
8 this.age = age;
9 }
10 // say 方法放在了哪里? => 类的原型对象上,为实例所用,也叫实例方法
11 // 通过person实例调用say时,say方法中的this就是person实例 (也就是new出来的实例对象)
12 say() {
13 console.log(`说话的方法, ${this.name}在说话`);
14 }
15 }
16 // 创建一个person的实例对象
17 var P1 = new Person("范顺", 18);
18 // P1.say()
19 // console.log(P1.__proto__.say === Person.prototype.say) // true
20
21 // 创建一个student类,继承与person
22 class Student extends Person {
23 //继承与person的属性,
24 constructor(name, age, type) {
25 super(name, age); /* super 函数帮助调用父类的构造器*/
26 this.type = type;
27 }
28 say() {
29 /* 重写父类方法,该方法存在student的原型对象上,所有说S1直接调用*/
30 console.log(`说话的方法, ${this.name}在说话, 并说我不${this.type}`);
31 }
32 speak() {}
33 }
34 var S1 = new Student("小明", 16, "是坏孩子");
35 console.log(S1);
36
37 S1.say(); // 调用say方法,say方法是父类p1.__proto__也就是person.prototype的原型对象的方法,以为student子类继承了person父类,通过原型链的规则(也就是S1.__proto__.__proto__),找到父类的方法

上述这个简单的例子理解了,下面类组件就理解了

class类 和 react类组件的更多相关文章
- 为什么需要在 React 类组件中为事件处理程序绑定this?
https://juejin.im/post/5afa6e2f6fb9a07aa2137f51 事件绑定作为回调函数参数传递给函数,丢失其上下文,执行的是默认绑定,不是隐式绑定 类声明和类表达式的主体 ...
- [转]C#调用C++类(以COM组件的形式)
如果想用C#调用C/C++写的函数,可以先将C/C++的函数写成dll文件,由C#用DllImport的方式来调用,但是这种方法无法调用C++写的类,如果想调用C++类,可以先把C++类封装成COM组 ...
- reactjs入门到实战(七)---- React的组件的生命周期
React的组件的生命周期有三个状态分别是:挂载(生产组件示例化.准备挂载到页面.挂载到页面).更新(更新值.更新DOM).和卸载(卸载后). >>>其他 getInitia ...
- React的组件用法
React.createClass() 中文翻译 https://discountry.github.io/react/3.4K ( https://doc.react-china.org868 ) ...
- React Native组件、生命周期及属性传值props详解
创建组件的三种方式 第一种:通过ES6的方式创建 /** * 方式一 :ES6 */ export default class HelloComponent extends Component { r ...
- react创建组件的几种方式及其区别
react创建组件有如下几种方式 ①.函数式定义的无状态组件 ②.es5原生方式React.createClass定义的组件 ③.es6形式的extends React.Component定义的组 ...
- React 面向组件化编程 - 封装了webpack - npm run build 产生的包的 /static 引用路径问题
React 面向组件化编程 面向对象 ----> 面向模块 ----> 面向组件 套路: 注意: 组件名必须大写开头: 只能有一个根标签: <input />虚拟DOM 元素必 ...
- React 学习(一) ---- React Element /组件/JSX
学习React的时候,你可能听到最多的就是要先学习webpack, babel,要先学会配置然后才能学react 等等,一堆的配置就把我们吓着了,根本就没有心情就学习react了.其实在最开始学习re ...
- React创建组件的三种方式及其区别
内容转载于http://www.cnblogs.com/wonyun/p/5930333.html React推出后,出于不同的原因先后出现三种定义react组件的方式,殊途同归; 具体的三种方式: ...
- beeshell —— 开源的 React Native 组件库
介绍 beeshell 是一个 React Native 应用的基础组件库,基于 0.53.3 版本,提供一整套开箱即用的高质量组件,包含 JavaScript(以下简称 JS)组件和复合组件(包含 ...
随机推荐
- .net 生成Excel并保存
void SaveQuestionToExcel(List<Question> datas, string path) { using (Workbook workbook = new H ...
- 性能工具---JConsole基于JMX的可视化监视、管理工具
与visualvm类似: JConsole: (Java Monitoring and Management Console),一种基于JMX的可视化监视.管理工具 VisualVM:(All-in- ...
- 通过右键菜单生成pyd
批处理 @echo off reg add "HKCR\AllFilesystemObjects\shell\构建PYTHON\command" /ve /t REG_SZ /d ...
- Git在使用过程中遇到的一些问题
git默认对文件中的大小写不敏感. 方案1: 通过配置git来达到识别文件大小写的问题.命令如下: git config core.ignorcecase false 缺点:每个仓库都需要修改. 方案 ...
- Visual Studio-截断类错误
Visual Studio-截断类错误 传输数据的目标端,将提示的错误的表对应的截断字段的长度增大,重新创建表 并且,对于Visual 传输节点里面,双击红色报错的节点,然后对于数据源右键,接着选择& ...
- PO、VO、DAO、BO、DTO、POJO 之间的区别
PO(Persistant Object),持久对象 这个对象是与数据库中的表相映射的Java对象. VO(Value Object),值对象 通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据 ...
- MySQL Mock大量数据做查询响应测试
上个迭代版本发布后,生产环境业务同事反馈仓配订单查询的页面加载时间过长. 因为页面原来是有的,这次开发是在原来基础上改的,因此没有额外做性能.测试环境只调用接口请求了少量数据去验证功能.在对比该迭代添 ...
- RunnerGo相较于Jmeter优劣势分析
RunnerGo是一款基于go语言研发的开源测试平台.在这里我想从性能测试方面.结构方面以及功能方面对比两款产品. 性能方面: Runner基于go语言研发,相对于jmeter来说更轻量级.所以性能测 ...
- RTE NG-Lab:一起探索下一代实时互动新世界
互联网已经彻底改变了我们的工作和生活.从纸书信笺,到智能手机中的 App,再到 VR 头显,实时互动体验逐代升级,已经成为了我们生活的一部分.随着元宇宙的爆火,新增的实时互动场景日益颠覆着我们的想象力 ...
- CentOS7环境下数据库运维---主从复制、读写分离
1.理解MySQL主从复制原理 主服务器开启binlog日志,从库生成log dump线程,将binlog日志传给从库I/O线程,从库生成俩个线程,一个是I/O线程,一个是SQL线程,I/O线程去请主 ...