【前端】一个”哇塞“前端需要知道的 React 生态清单 ~

最近在做一个自己的知识库,希望对自己的知识体系做一个彻底的梳理和整理,以便制定今后的学习计划和方向。下面就分享一下我自己整理的整个 React 知识体系和各生态当前最热门的实践 ~

要成为一个精通 React 的 "哇塞" 前端,不仅需要全面掌握 React 的基础概念,同时还需要熟练运用相关的技术生态和工具。虽然 React 只是一个基于 UI 层面的库,但是整个 React 生态其实是很繁荣的,真正要 "精通" React 实际上并没有那么容易,需要具备一个完整的体系化知识结构 ~

1、核心 APIs

  • createContext:createContext 可以创建一个上下文,组件可以提供或读取该上下文。

  • createPortal:可让你将某些子组件渲染到 DOM 的不同部分。

  • forwardRef:forwardRef 可让你的组件通过 ref 向父组件暴露 DOM 节点。

  • Fragment<Fragment> 通常通过<>...</>语法使用,可让你在不使用包装节点的情况下对元素进行分组。

  • lazy:lazy 可以让你延迟加载组件的代码,直到首次渲染时才加载。

  • memo:memo 可让你在组件的 props 不变时跳过重新渲染组件。

  • Profiler<Profiler> 可让你以编程方式测量 React 树的渲染性能。

  • StrictMode<StrictMode> 可让你在开发过程中尽早发现组件中的常见错误。

  • Suspense:可让你在其子模块加载完成前显示回退模块。

2、React Hooks

3、新 APIs

4、生态周边

4.1 UI 库

  • Chakra UI:Chakra UI 是一个简单、模块化和可访问的组件库。

4.2 样式方案

4.3 状态管理方案

4.4 数据管理方案

4.5 动画库

4.6 可视化和图形库

4.7 表单

5、构建工具

6、startup / 全栈框架

7、测试框架

8、数据校验库

9、前沿方向

  • 边缘渲染(Edge Rendering):在发送给客户端之前在边缘服务器 (Edge) 修改渲染的 HTML。

  • 增量静态生成(ISG:Incremental Static Generation):即使在初始构建之后,也能动态增强或修改静态网站 (Next.js ISR, Gatsby DSG)

  • 岛屿架构(Islands Architecture):在一个静态网站中,通过多个入口点实现动态行为的孤岛 (Astro, Eleventy)

  • 多页面应用 (MPA:Multi-Page Application):完全在服务器上运行的应用程序,客户端动态行为极少

  • 局部注水(Partial Hydration):只在客户端上对某些组件进行注水 (比如 React Server Components)

  • 渐进式增强(Progressive Enhancement):确保应用程序在没有 JavaScript 的情况下也能正常运行

  • 渐进式注水(Progressive Hydration):控制在客户端上的对组件注水的顺序

  • Resumability:在服务器上序列化框架状态,使客户端能够在没有重复代码执行的情况下恢复执行。

  • 服务端渲染 (SSR:Server-Side Rendering):在服务器上动态渲染 HTML 内容,然后再在客户端上重新"注水"

  • 单页面应用 (SPA:Single Page Application):完全在浏览器中运行的应用

  • 静态站点生成 (SSG:Static Site Generation):预渲染静态内容,可能会携带客户端动态元素

  • 流式服务端渲染(Streaming SSR):将服务器渲染的内容分解为较小的流式块

10、new Features(on the way)

  • Asset Loading:Fully integrate Suspense with the loading lifecycle of stylesheets, fonts, and images

  • React cache:An API to assist with caching data.

  • React Forget

  • Offscreen Rendering

  • React Server Components

  • Server Actions

  • <Suspense>

  • Transition Tracing:Detect when React Transitions become slower and investigate why they may be slow.

  • use():Hookuse unwraps the value of a promise, but it can be used inside normal components and Hooks, including on the client.


相关推荐
Sylvia33.1 天前
网球/羽毛球数据API:专业赛事数据服务的技术实现
java·前端·websocket·json
向下的大树1 天前
VUE父子组件传参中的触发时机问题:异步场景下的解决方案
前端·javascript·vue.js
英俊潇洒美少年1 天前
vue2中使用节流防抖函数时,使用的vue状态始终是初始化的数据
前端·javascript·vue.js
棒棒的唐1 天前
适合小程序使用的将对象数组转换为参数字符串方法
前端·javascript·小程序
博客zhu虎康1 天前
音频视频处理:前端直播流播放 flv
前端
一位搞嵌入式的 genius1 天前
深入理解 JavaScript 原型与继承:从基础到进阶
开发语言·前端·javascript
董世昌411 天前
深度解析var、let、const的区别与最佳使用场景
开发语言·前端·javascript
C_心欲无痕1 天前
Next.js 平行路由:构建模块化动态布局
开发语言·前端·javascript
warrah1 天前
前端项目容器化部署问题
前端·docker
GISer_Jing1 天前
2026前端技术潜在主流前沿方向
前端·人工智能·reactjs