React哲学思想

简介: React是用JavaScript构建快速响应的大型Web应用程序的首选方式。由于前端我们是无法改变加载的网速,但是我们可以通过加入view界面提示加载,这样在响应的过程中不会让用户一直处于空白界面的状态。可以调用React中Lazy&Suspence来实现。如果项目崩溃或者网络崩溃的时候,可以使用ErrorBondary,展示出自己定义渲染的“错误”的UI界面
React是用于构建用户界面的JavaScript库
React 让你可以通过组件来构建用户界面
复制代码

1. React简介

1.1 React的特点

  • 声明式
  • 组件化
  • 跨平台编写

1.2 React哲学

React是用JavaScript构建快速响应大型Web应用程序的首选方式

由于前端我们是无法改变加载的网速,但是我们可以通过加入view界面提示加载,这样在响应的过程中不会让用户一直处于空白界面的状态。可以调用React中Lazy&Suspence来实现。

如果项目崩溃或者网络崩溃的时候,可以使用ErrorBondary,展示出自己定义渲染的“错误”的UI界面

1.3 更新流程

  • 调度器
  1. 维护时间切片,会有多个切片
  2. 与浏览器任务调度
  3. 优先级调度
  • 协调器
  1. 将JSX转化为Fiber
  2. Fiber树对比(双缓存)
  3. 确定本次更新的Fiber
  • 渲染器
  1. 渲染器用于管理一颗React树
  2. 使其根据顶层平台进行不同的调度

image.png

fiberRoot是通过双缓冲来更新,通过alterbate将current TreeworkInProgerss Tree关联。整颗树构建完成后是通过workInProgerss Tree去替代当前渲染的current Tree,然后完成整个update。

image.png

1.4 优缺点

优点:

  • 快速响应:Fiber
  • 组件化:复用性强
  • 声明式编程
  • 跨平台

缺点:

  • 大型应用需要配套学习状态管理、路由工具
  • 不适合小型应用,需要用babel处理

2.1 React开发web应用

如果用React开发一个项目,大概可以需要这些储备知识

  • 架构
  • 路由
  • UI
  • 状态
  • 数据
  • 通信
  • 性能

浏览器无法直接识别jsx,所以需要学习打包配置,如babel将jsx转换为浏览器可以识别的JS。路由则可以快速的添加视图和数据流,可以让页面和URL之间保持同步.UI可以通过组件组成。通信可以通过props进行父子之间的通信,context&redux可以用于组件信息的共享。


目录
相关文章
|
6月前
|
人工智能 IDE 开发工具
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
4586 18
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
|
Serverless
📢大模型服务平台百炼“流程”功能下线通知
本文主要内容介绍了大模型服务平台百炼的“流程”功能将于2025年11月15日下线。自通知发布起,“流程”入口将逐步隐藏,建议用户尽快迁移至全新升级的工作流应用,支持MCP、函数计算及大模型节点编排,操作更便捷。2025年6月15日起,现存“流程”不可修改;11月15日起完全停用,智能体中需解除“流程”引用并替换为工作流。请参考相关文档完成迁移。
460 0
|
4月前
|
存储 SQL 关系型数据库
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
|
4月前
|
人工智能 测试技术 Go
Go 语言的主流框架
本文全面解析了 Go 语言主流技术生态,涵盖 Web 框架、微服务、数据库工具、测试与部署等多个领域。重点介绍了 Gin、Echo、Beego 等高性能框架,以及 gRPC-Go、Go-Micro 等微服务组件。同时分析了 GORM、Ent 等 ORM 工具与测试部署方案,并结合场景提供选型建议,助力开发者构建高效稳定的 Go 应用。
1069 0
|
7月前
|
存储 Java
【源码】【Java并发】【ThreadLocal】适合中学者体质的ThreadLocal源码阅读
前言 下面,跟上主播的节奏,马上开始ThreadLocal源码的阅读( ̄▽ ̄)" 内部结构 如下图所示,我们可以知道,每个线程,都有自己的threadLocals字段,指向ThreadLocalMap
497 81
【源码】【Java并发】【ThreadLocal】适合中学者体质的ThreadLocal源码阅读
|
数据采集 人工智能 Cloud Native
LoongCollector:构建智能时代的数据采集新范式
本文聚焦 LoongSuite 生态核心组件 LoongCollector,深度解析 LoongCollector 在智算服务中的技术突破,涵盖多租户观测隔离、GPU 集群性能追踪及事件驱动型数据管道设计,通过零侵入采集、智能预处理与自适应扩缩容机制,构建面向云原生 AI 场景的全栈可观测性基础设施,重新定义高并发、强异构环境下的可观测性能力边界。
|
7月前
|
存储 缓存 安全
【Java并发】【ThreadLocal】适合初学体质的ThreadLocal
ThreadLocal 是 Java 中用于实现线程本地存储(Thread-Local Storage)的核心类,它允许每个线程拥有自己独立的变量副本,从而在多线程环境中实现线程隔离,避免共享变量带来的线程安全问题。
169 9
【Java并发】【ThreadLocal】适合初学体质的ThreadLocal
|
7月前
|
人工智能 中间件 程序员
大模型上下文协议 MCP 带来了哪些货币化机会
本文探讨了MCP(Model-Calling Protocol)的兴起及其对AI生态的影响。自2月中旬起,MCP热度显著提升,GitHub Star和搜索指数均呈现加速增长趋势。MCP通过标准化协议连接大模型与外部工具,解决了碎片化集成问题,推动AI应用货币化及生态繁荣。文章分析了MCP与Function Calling的区别,指出MCP更适用于跨平台、标准化场景,而Function Calling在特定实时任务中仍具优势。此外,MCP促进了 supply端(如云厂商、大模型、中间件服务商)和消费端(终端用户)的变革,尤其以Devin和Manus为代表,分别改变了程序员和普通用户的交互方式。
892 37
大模型上下文协议 MCP 带来了哪些货币化机会