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可以用于组件信息的共享。


目录
相关文章
|
4月前
|
Web App开发 前端开发 JavaScript
React 之 requestIdleCallback 来了解一下
React 之 requestIdleCallback 来了解一下
116 0
|
19天前
|
前端开发 JavaScript 算法
|
10月前
|
XML 前端开发 JavaScript
react的特点
react的特点
71 0
|
10月前
|
前端开发 JavaScript 数据可视化
react的应用
react的应用
70 1
|
12月前
|
前端开发 JavaScript
React 特点
React 特点
122 0
|
机器学习/深度学习 设计模式 前端开发
React17在我看来是这样的
本文适合觉得React难学,或者想重头系统化学习React的小伙伴。
|
前端开发 调度
一篇必看的React文章
本文适合有 React 基础的小伙伴进阶学习
一篇必看的React文章
|
前端开发 程序员
React中的renderProps和childrenProps
React中的renderProps和childrenProps
React中的renderProps和childrenProps
|
资源调度 前端开发 JavaScript
React 的 what,why 和 how
React 是一个用于构建用户界面的JavaScript 库。 用户界面:HTML 页面(前端) React 主要用来写 HTML 页面,或构建 Web 应用。 如果从 MVC 的角度来看,React 仅仅是视图层(V),也就是只负责视图的渲染,而并非提供了完整的 M 和 C 的功能。
75 0
|
前端开发 JavaScript 算法
react知识总结
react知识总结