React面向组件编程

React面向组件编程

一、函数式组件

官方推荐由类式组件逐步迁移到函数式组件

javascript 复制代码
function MyComponent() {
	console.log('this') // undefined,在严格模式下没有全局属性
	return <h1>函数式组件</h1>
}

const root = document.getElementById('root');
ReactDOM.render(<MyComponent />, root);

执行情况:

  1. React解析组件标签,找到MyComponent
  2. 发现组件是使用函数定义,随后调用该函数,将返回的虚拟DOM转为真实DOM,随后呈现在页面上

二、类式组件

javascript 复制代码
class MyComponent extends React.Component {
	// render是在MyComponent原型对象上,供实例使用
	render() {
			return <h1>类式组件</h1>
	}
}

const root = document.getElementById('root');
ReactDOM.render(<MyComponent />, root);

执行情况:

  1. React解析组件标签,找到MyComponent
    2)发现组件是使用类定义,随后new出来该类实例,并通过该实例调用到原型上的render方法
    3)将render返回的虚拟DOM转为真实DOM,随后呈现在页面上

三、类的基本知识回顾

1)类中的构造器不是必须的,要对实例进行一些初始化操作,比如:添加指定属性

2)如果A类继承B类,且A类中写了构造器函数,那么A类构造器函数中的super是必须要调用的

3)类中所定义的方法,都是放在了类的原型对象上,供实例使用

相关推荐
炫饭第一名2 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫3 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊3 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter3 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折3 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_3 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
Angelial3 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js
jiayu4 小时前
Angular学习笔记24:Angular 响应式表单 FormArray 与 FormGroup 相互嵌套
前端
jiayu4 小时前
Angular6学习笔记13:HTTP(3)
前端
小码哥_常4 小时前
Kotlin抽象类与接口:相爱相杀的编程“CP”
前端