eact创建组件的三种方式:

1、函数式无状态组件

2、es5方式React.createClass组件

3、es6方式extends React.Component

三种创建方式的异同

1、函数式无状态组件

(1)语法

 function myComponent(props) { return <div>Hello {props.name}</div> }

(2)特点

● 它是为了创建纯展示组件,这种组件只负责根据传入的props来展示,不涉及到state状态的操作。

● 组件不能访问this对象

● 不能访问生命周期方法

(3)建议

如果可能,尽量使用无状态组件

2、es5方式React.createClass组件

(1)语法

var myCreate = React.createClass({defaultProps: { //code},getInitialState: function() {return {//code};},render: function() {return (<div>//code</div>);}});//欢迎加入全栈开发交流群一起学习交流:864305860

(2)特点

这种方式比较陈旧,慢慢会被淘汰。

3、es6方式extends React.Component

(1)语法

class InputControlES6 extends React.Component {constructor(props) {super(props);this.state = {state_exam: 'hello'};// ES6 类中函数必须手动绑定this.handleChange = this.handleChange.bind(this);}handleChange() {this.setState({state_exam: 'hello world'});}render() {return (<div>//code</div>);}
};//欢迎加入全栈开发交流群一起学习交流:864305860

(2)特点

● 成员函数不会自动绑定this,需要开发者手动绑定,否则this不能获取当前组件实例对象。

● 状态state是在constructor中像初始化。

● props属性类型和组件默认属性作为组件类的属性,不是组件实例的属性,所以使用类的静态属性配置。
结语

感谢您的观看,如有不足之处,欢迎批评指正。

获取源码

本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
对web开发技术感兴趣的同学,欢迎加入Q群:864305860,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。
最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

深入解析React创建组件的三种方式相关推荐

  1. React创建组件的三种方式及其区别

    React推出后,出于不同的原因先后出现三种定义react组件的方式,殊途同归:具体的三种方式: 函数式定义的无状态组件 es5原生方式React.createClass定义的组件 es6形式的ext ...

  2. Vue创建组件的三种方式

    1.使用 Vue.extend 来创建全局的Vue组件 <div id="app"><!-- 如果要使用组件,直接,把组件的名称,以 HTML 标签的形式,引入到 ...

  3. React绑定this的三种方式

    转载自  React绑定this的三种方式 React可以使用React.createClass.ES6 classes.纯函数3种方式构建组件.使用React.createClass会自动绑定每个方 ...

  4. java多线程w3c_Java创建多线程的三种方式

    前言 这篇文章主要讲述线程的概念.组成.Java创建多线程的三种方式以及线程的类型. 线程概念 线程和进程的区别 **进程:**正在运行的程序,例如:你打开 的qq音乐.exe程序,其由PCB(进程控 ...

  5. js学习-DOM之动态创建元素的三种方式、插入元素、onkeydown与onkeyup两个事件整理...

    动态创建元素的三种方式: 第一种: Document.write(); <body> <input type="button" id="btn" ...

  6. java bean 工厂模式_Spring框架通过工厂创建Bean的三种方式实现

    工厂模式 Spring中bean的创建,默认是框架利用反射new出来的bean实例.有时候也会有一些复杂的情况. 假设有一个飞机,属性如下,现在需要造很多同型号的飞机,那么唯一需要改变的属性只有Dri ...

  7. 把对象的创建交给spring来管理——  1.创建bean的三种方式     2.bean对象的作用范围     3.bean对象的生命周期

    把对象的创建交给spring来管理 spring对bean的管理细节     1.创建bean的三种方式     2.bean对象的作用范围     3.bean对象的生命周期 创建Bean的三种方式 ...

  8. java 创建线程_【80期】说出Java创建线程的三种方式及对比

    点击上方"Java面试题精选",关注公众号 面试刷图,查缺补漏 >>号外:往期面试题,10篇为一个单位归置到本公众号菜单栏->面试题,有需要的欢迎翻阅. 一.Ja ...

  9. 五、创建Bean的三种方式

    五.创建Bean的三种方式 转载于:https://www.cnblogs.com/ljiwej/p/7280614.html

最新文章

  1. C# 最快的逐一打印斐波那契结果数列的算法
  2. 康奈尔大学对博士生的四点要求
  3. PHP内置函数生成随机数的方法汇总
  4. 键盘映射软件_KOMPLETE KONTROL M32 键盘 MIDI 控制器的评测
  5. pytorch forward_【Pytorch部署】TorchScript
  6. Tensorflow模型加载与保存、Tensorboard简单使用
  7. 如何拷贝工程_如何将premiere的工程及素材文件打包?
  8. mysql自带订阅功能_为博客提供订阅功能
  9. php中的oop,php oop有什么用?
  10. 利用tensorflow加载VGG19
  11. xclient 已停止工作
  12. 支付宝扫码支付开发配置详解
  13. python seo 采集内容_SEO如何处理采集内容(4)–转自{GoGo闯}
  14. 计算机怎么打字快,电脑新手如何快速打字?
  15. aliyun资源编排 介绍和实例
  16. 台式计算机开机风扇不转,电脑开机显卡风扇不转是怎么回事|电脑开机风扇不转的解决方法...
  17. 工具 | Cmder 自定义 aliases 命令
  18. ASUS华硕天选/天选2P/天选3P/飞行堡垒789/枪神/枪神2/枪神3/枪神4/枪神5P/枪神6P/幻14 FA506 FX506安装原厂Windows10系统原装Windows11出厂系统重装
  19. 中国 省会 地级市 经纬度 city array
  20. git pull 出现 from the remote, but no such ref was fetched 已解决

热门文章

  1. USACO-Section1.4 Barn Repair (贪心算法)
  2. Python print和pprint两者的区别
  3. Linux Epoll ET模式EPOLLOUT和EPOLLIN触发时刻
  4. Redis持久化RDB
  5. C语言,两个超大整型数乘法
  6. 【Linux】linux ln文件夹的链接(转)
  7. FTP的连接方式(防火墙的配置)
  8. 提高tomcat的并发能力
  9. C#中的引用传递、值传递
  10. border-collapse 关于继承问题