React

本文深入探讨React网页UI框架,强调其组件化、声明式编程和通用性特点。React通过虚拟DOM提高性能,但也会带来额外的内存消耗。函数组件与类组件各有优势,适用于不同场景。React的渲染过程涉及Fiber架构,以提高响应速度。此外,jsx提供简洁的代码结构,requestIdleCallback确保快速响应用户体验。
摘要由CSDN通过智能技术生成

概念

网页UI框架,本质为一个组件化框架
用于构建用户界面的js库,通过组件化方式构建快速响应的大型web应用程序
开发React的思维模式是完全不同的,概念也极为简单
React中只有组件,没有页面、控制器、模型
数据与组件
UI=fn(state),state计算出状态变化,fn将状态变化渲染在视图中
核心思路
声明式:可以做到一目了然,也便于组合
组件化:可以降低系统间功能的耦合性,提高功能内部的聚合性
通用性:将DOM抽象为虚拟DOM,开发者并不直接操作DOM。React也不再限于Web开发
优缺点
声明式、组件化与通用性
学习与使用成本高

JSX

jsx是js的语法扩展
同样为声明式
代码结构简洁明了
结构、样式和事件等实现高内聚低耦合
不需要引入新的概念和语法,只写js

虚拟DOM

React.createElement函数所返回的就是一个虚拟DOM,是描述真实DOM的纯js对象。跟平台无关,提高兼容性
可以实现差异化更新,减少更新DOM操作
不一定更快
消耗额外内存

函数组件 类组件

都可以接受属性并返回React元素
不同点
编程思想不同:类组件需要创建实例,是基于面向对象的方式编程。函数组件不需要创建实例,接受输入,返回输出,是基于函数式编程思想。
内存占用:类组件需要创建并保存实例,函数组件不需要创建实例
函数组件具有捕获特性
函数组件更方便进行单元测试
状态:类组件有自己的实例,可以定义状态,也可以修改状态更新组件。函数组件以前没有组件,现在可以使用useState使用状态
生命周期:类组件有自己完整的生命周期。函数组件以前没有,现在可以使用useEffect
逻辑复用:类组件可以通过继承实现逻辑复用、函数组件可以通过自定义Hooks实现逻辑复用
跳过更新:类组件可以通过shouldComponent和PureComponent来跳过更新。函数组件可以使用React.memo来跳过更新

React渲染过程

跨平台渲染:虚拟DOM
快速响应:异步可中断+增量更新

渲染流程:scheduler选择高优先级的任务进入reconciler;reconciler计算变更的内容;react-dom把变更的内容渲染到页面上。

requestldleCallback:快速响应用户,让用户觉得够快;使开发者能够在主事件循环上执行后台和低优先级工作,而不会影响延迟关键事件;正常任务完成后没有超过16ms,说明时间与富余,就会执行requestldeCallback中的注册任务

fiber

可以通过某些调度策略合理分配CPU资源,从而提高用户的响应速度

通过Fiber架构,让自己的调和过程变成可被中断,适时地让出CPU执行权,可以让浏览器及时的响应用户的交互

Fiber是一个执行单元,每次执行完一个执行单元后,React就会检查现在还剩多少时间,如果没有事件就将控制权让出去

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值