React 教程第一节 简介概述 以及 特点

server/2024/11/19 15:57:40/

概述:

一个用于构建web与原生交互界面的UI库,无论是独立开发者,还是团队协作,React 都可以轻松的组合由不同人群开发的组件,随写随插随用,方便快捷;

特点:

1、声明式设计:

React 采用声明式设计,是开发创建的交互界面变得简单易用。开发人员只需要创建自己想要的UI即可,剩下的由React 数据驱动DOM完成界面的绘制渲染,使得开发便于维护;

2、组件化:

将复杂的界面交互,拆分成单一功能可复用的组件,保证组件清晰的逻辑方便维护管理,同时,组件之间相互组合可以轻易组装成复杂的场景,减少代码冗杂,提升组件的复用性;

3、高效性:

通过虚拟DOM DIFF算法来提高应用的性能,在用户增删改查操作时候,React 会通过对比新旧虚拟DOM,批量更新,减少与真实DOM的交互,来实现快速更新界面;

4、灵活性:

不强制要求开发者使用特定的开发设计模式,只要是开发者自己喜欢的技术栈即可,不管使用的是哪种技术栈,随时可以引入 React 进行开发功能;

5、JSX语法:

React 中允许使用类似 javascriptXML语法一样进行编写代码,可以将 js 与 html 编写在一起,是组件逻辑更加直观易读;

6、单向数据流:

React 的数据流,只会从父级传递到子级,形成单向数据流。子组件无法直接修改父组件的状态,需要通过调用父组件的事件方法来实现;单向数据流,数据管理清晰,状态管理简单,易于维护;

7、生命周期:

每个组件都有 挂载、更新、卸载 三个阶段;类组件中通过 React自带的生命周期函数实现
挂载:componentDidMount,
更新:componentDidUpdate
卸载:componentWillUnmount
实现;函数组件中通过 hook 模拟实现,如:useEffect useCallBack;
生命周期,便于根据不同的阶段,实现相应的逻辑,方便管理,提升代码的可控性;

8、HOOKS:

React 从 16.8开始引入 hooks函数,允许开发人员在函数式组件中使用状态,或者其他特性;简化组件的结构,减少类式组件的使用,可通过自定义hook 将复用的逻辑代码抽离,提高代码的可维护性

9、跨平台:

reactNative 使的一套 react 代码可以实现在web端 移动端开发应用,而实现跨平台;

接下来开始 React 的系统性文档整理之旅,主要针对16.8之后以函数式组件编写开发过程中的注意事项,欢迎各位批评指正


http://www.ppmy.cn/server/143229.html

相关文章

RLC串联电路基础

RLC串联电路 一、电路基本构成与方程 RLC串联电路由电阻(R)、电感(L)和电容(C)串联组成。其描述行为的二阶微分方程为 L d 2 i d t 2 R d i d t 1 C i 0 L\frac{d^{2}i}{dt^{2}} R\frac{di}{dt} \fr…

内网安全、域渗透测试工具-NetExec介绍及使用(优秀)

目录 ​编辑 介绍 支持的协议 安装 Unix 使用 pipx 安装NetExec Kali安装 使用pip安装 Windows MacOS 手动编译二进制 设置 Tab 补全 使用方法 帮助 NetExec 目标格式 使用凭证 更多使用教程 github地址 介绍 NeNetExec (nxc) 是一款功能强大的自动化网络安…

原生cesium 实现楼栋抽离效果

这里写自定义目录标题 需求背景解决思路解决效果index.vue 需求背景 需要实现整栋楼的展开,合上,单层抽离的预览效果 解决思路 由于3dtiles格式分成选中的元素太多,做模型抽离较麻烦 采用把模型按每层分成小模型用model的方式交互加载 解…

nginx证书流式响应配置

要配置 Nginx 支持流式响应的反向代理,你需要进行一些特定的设置,以确保 Nginx 不会缓冲响应并正确地将数据转发到后端服务器。以下是一个简单的配置示例,假设你的后端服务器运行在 http://backend-server:port: server {listen …

lua脚本语言基本原理

Lua是一种轻量级、高效的脚本语言,其原理主要包括以下几个方面: 词法分析 原理:词法分析器按从左到右的顺序对 Lua 脚本的源程序字符流进行扫描,依据词法规则将其识别为一个个单词,如关键字、标识符、常量、运算符等…

Python学习27天

字典 dict{one:1,two:2,three:3} # 遍历1: # 先取出Key for key in dict:# 取出Key对应的valueprint(f"key:{key}---value:{dict[key]}")#遍历2,依次取出value for value in dict.values():print(value)# 遍历3:依次取出key,value …

【网络安全】SSL(二):Keyless SSL技术细节

未经许可,不得转载。 文章目录 TLS双重目标握手过程是什么?TLS 中的握手类型TLS 术语表RSA 握手协议临时 Diffie-Hellman 握手Diffie-Hellman 握手过程保护密钥服务器其他安全考虑性能提升场景分析持久连接精简握手会话恢复的问题Keyless SSL 的会话恢复功能会话票据恢复会话…

深入理解 Java 阻塞队列:使用场景、原理与性能优化

在并发编程中,线程安全的队列是解决线程间任务传递和调度的关键工具之一。阻塞队列(BlockingQueue)作为一种线程安全的队列,实现了在并发环境下对共享数据的安全访问,广泛应用于生产者-消费者模型、任务调度和多线程计…