React

云云​(對話 | 貢獻)2026年7月22日 (三) 04:18的修訂 (创建页面,内容为“{{Infobox | 标题 = React | 内容 = {{!}}- ! 其他名称 {{!}} React.js {{!}}- ! 类型 {{!}} JavaScript库 {{!}}- ! 开发者 {{!}} Meta(原Facebook)及社区 {{!}}- ! 设计者 {{!}} Jordan Walke {{!}}- ! 首次发布 {{!}} 2013年5月 {{!}}- ! 编程语言 {{!}} JavaScript {{!}}- ! 许可证 {{!}} MIT {{!}}- ! 官方网站 {{!}} https://react.dev }} '''React'''(又称'''React.js''')是一个由Meta(原Facebook)开发并维护的开源JavaScr…”)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

React(又稱React.js)是一個由Meta(原Facebook)開發並維護的開源JavaScript庫,用於構建基於組件的用戶界面。[1][2] 其核心設計思想包括聲明式編程、組件化架構及虛擬DOM,使開發者能夠以模塊化的方式構建複雜的交互式Web應用。[3][4] React主要用於開發單頁應用,亦可與Next.js等框架配合實現伺服器端渲染,或通過React Native構建原生移動應用。[1]

歷史

React由Meta軟件工程師Jordan Walke創建,其靈感源自XHP——一個用於PHP的HTML組件庫。[1] Walke最初開發了一個名為"FaxJS"的原型,允許在JavaScript中編寫類HTML語法並通過虛擬DOM抽象將其渲染至DOM。[1]

2011年,React首次部署於Facebook的News Feed功能。2012年,Facebook收購Instagram後,React被用於驅動Instagram的Web界面,這是React在Facebook核心平台之外的首次大規模應用。[5]

2013年5月,React在JSConf US上由Tom Occhino和Pete Hunt正式對外公布並開源。[1] 發布初期,JSX語法擴展曾引發部分開發者的質疑,但Facebook工程團隊闡述了虛擬DOM的性能優勢與組件化架構的可維護性,逐步獲得了廣泛認可。[5]

2015年2月,Meta在React Conf上宣布React Native,同年3月將其開源,使開發者能夠使用React範式構建iOS與Android原生應用。[6] 2017年4月,Meta宣布React Fiber——一套新的調和算法,取代了此前的"Stack"架構,通過將渲染工作分割為可獨立調度的小單元,顯著提升了動態更新場景下的響應性能。[2]

技術特性

虛擬DOM

React的核心性能優化機制是虛擬DOM(Virtual DOM)。虛擬DOM是真實DOM的輕量級內存表示,以JavaScript對象樹的形式存在。[4] 當組件狀態發生變化時,React首先在虛擬DOM中生成新的UI表示,隨後通過diff算法將其與前一版本進行比較,識別出最小變更集,最後僅將必要的更新應用至真實DOM。[3][4] 這一機制避免了直接操作真實DOM帶來的高昂性能開銷,確保UI更新高效且流暢。[7]

組件化架構

React採用組件化設計,將用戶界面拆分為獨立、可復用的組件單元。每個組件封裝了自身的邏輯與渲染輸出,可通過組合方式構建複雜的應用結構。[3] 組件可以是類組件(Class Components)或函數組件(Function Components),後者配合Hooks API已成為當前主流寫法。[1]

JSX

JSX是一種JavaScript語法擴展,允許在JavaScript代碼中直接編寫類HTML元素。[1] 它並非模板語言,而是會被編譯為普通的JavaScript函數調用。JSX使組件的結構與邏輯緊密耦合,提升了代碼的可讀性與開發效率。

React Fiber

React Fiber是React 16引入的新的調和引擎,取代了原有的Stack reconciler。[8] Fiber將渲染工作拆分為多個小任務單元,支持任務的暫停、恢復與優先級調度,使高優先級交互(如用戶點擊、動畫)能夠及時得到響應,從而改善複雜應用中的用戶體驗。[8]

主要API

React通過Hooks API為函數組件提供狀態管理與副作用處理能力。useState用於在函數組件中管理本地狀態,useEffect用於處理副作用(如數據獲取、訂閱管理),useContext用於訪問React上下文,useReducer則提供了類Redux的狀態管理範式。[1] 這些API使函數組件具備了此前僅類組件擁有的能力,推動了React開發範式的演進。

生態與應用

React已成為全球最具影響力的前端技術之一。除Web應用外,React Native使開發者能夠使用相同的組件化思維構建跨平台移動應用。[6] 在服務端渲染領域,Next.js、Remix等元框架基於React提供了完整的伺服器端渲染與靜態站點生成方案。React亦被廣泛應用於數據可視化儀錶盤、內容管理系統及電子商務平台的開發。

參考文獻