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


相关推荐
肥肠可耐的西西公主17 分钟前
前端(小程序)学习笔记(CLASS 2):WXML模板语法与WXSS模板样式
前端·学习·小程序
逆袭的菜鸟X1 小时前
RxJS 高阶映射操作符详解:map、mergeMap 和 switchMap
前端
bubiyoushang8881 小时前
HTML5的新语义化标签
前端·html·html5
会飞的鱼先生2 小时前
vue3自定义指令来实现 v-copy 功能
前端·javascript·vue.js
陈天伟教授2 小时前
Web前端开发 - 制作简单的焦点图效果
java·开发语言·前端·前端开发·visual studio
_殊途2 小时前
前端三件套之html详解
前端·html
不思念一个荒废的名字3 小时前
【黑马JavaWeb+AI知识梳理】后端Web基础03 - MySQL概述
前端·数据库·mysql
谢尔登3 小时前
【React Native】快速入门
javascript·react native·react.js
进取星辰3 小时前
32、跨平台咒语—— React Native初探
javascript·react native·react.js
橙子199110164 小时前
谈谈 Kotlin 中的构造方法,有哪些注意事项?
java·前端·kotlin