【前端】一个”哇塞“前端需要知道的 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.


相关推荐
四喜花露水21 分钟前
Vue 自定义icon组件封装SVG图标
前端·javascript·vue.js
前端Hardy31 分钟前
HTML&CSS: 实现可爱的冰墩墩
前端·javascript·css·html·css3
web Rookie1 小时前
JS类型检测大全:从零基础到高级应用
开发语言·前端·javascript
Au_ust1 小时前
css:基础
前端·css
帅帅哥的兜兜1 小时前
css基础:底部固定,导航栏浮动在顶部
前端·css·css3
yi碗汤园1 小时前
【一文了解】C#基础-集合
开发语言·前端·unity·c#
就是个名称1 小时前
购物车-多元素组合动画css
前端·css
编程一生2 小时前
回调数据丢了?
运维·服务器·前端
丶21362 小时前
【鉴权】深入了解 Cookie:Web 开发中的客户端存储小数据
前端·安全·web
Missmiaomiao3 小时前
npm install慢
前端·npm·node.js