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)类中所定义的方法,都是放在了类的原型对象上,供实例使用

相关推荐
凡人叶枫19 分钟前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
学逆向的43 分钟前
C++纯虚函数
开发语言·c++·网络安全
kyriewen1 小时前
Git Commit 前自动修复代码风格?配置 Husky + lint-staged,从此 CR 只聊逻辑
前端·git·面试
小和尚同志1 小时前
AI 自动化测试探索(一):Playwright MCP
前端·人工智能·aigc
程序员二叉1 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉1 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.01 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
徐小夕2 小时前
Loop Engineering 深度解析与实战指南(全网最全)
前端·算法·github
凡人叶枫2 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员2 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言