跳去內容

React (JavaScript library)

出自維基百科,自由嘅百科全書
  假如你想揾嘅係開源嘅手機應用框架,請睇「React Native」。
React
原作者Jordan Walke
開發者Meta同埋附屬團體
初始版本2013年5月29號,13年之前 (2013-05-29)[1]
最新發布19.3.1[2] 喺維基數據度改 (2026年10月14號)
測試版19.0- beta / 2024年4月25號,兩年之前 (2024-04-25)[3]
程式語言JavaScript
平台Web platform
軟件類別JavaScript函式庫
許可協議MIT許可證
代碼庫(英文:Repository (version control))

React(又叫 React.js 或者 ReactJS)係一個自由開源軟件前端嘅JavaScript函式庫[4][5],用嚟建立基於組件嘅用戶界面,呢件軟件係由Facebook開發,依家由Meta(Facebook公司嘅新名)同埋另外一間公司一齊負責維持運作[6][7][8]。

React可以用嚟開發單頁應用、手機、或者服務器端渲染(英文:server-side rendering)嘅應用, 用 Next.js 呢啲框架。由於React只係關注用戶界面同渲染元件到DOM,React應用通常會依賴其他庫,例如JavaScript函式庫,嚟做路由同其他客戶端功能[9][10]。React嘅一個關鍵優點係佢只會重新渲染有變動嘅部分,避免咗唔必要嘅DOM元素重渲染。佢喺2013年5月29號首次推出。

重要功能

[編輯]

聲明式

[編輯]

React遵循宣告式編程嘅範式[11]:76。開發者設計每個應用狀態嘅視圖,當數據變更時React會更新同渲染元件。呢個同指令式編程唔同[12]。

元件

[編輯]

React代碼係由叫做元件嘅實體構成[11]:10-12,而呢啲元件係模塊化同埋可以重用嘅[11]:70。React應用通常由多層元件組成,會用React DOM庫渲染到DOM嘅根元素。渲染元件嘅時候,值會通過“props”(“properties”嘅簡稱)喺元件之間傳遞。元件內部嘅值叫做“state”[13]。

React入面聲明元件嘅兩種主要方法係函數元件同類元件。[11]:118[14]:10

函數元件

[編輯]

函數元件用接受單一“props”參數並返回JSX嘅函數(用JavaScript函數語法或者箭頭函數表示)嚟聲明。從React v16.8開始,函數元件可以用useState鉤子嚟使用state。

React鉤子

[編輯]

2019年2月16號,React 16.8向公眾發布,引入咗React鉤子。[15] 鉤子係啲函數,讓開發者可以喺函數元件中使用state同其他React功能,而唔需要用類元件。[16] 常用嘅鉤子包括useState、useEffect同useContext。

文獻

[編輯]
一覽
    • Larsen, John (2021). React Hooks in Action With Suspense and Concurrent Mode. Manning. ISBN 978-1720043997.{{cite book}}: CS1 maint: ref duplicates default (link)
    • Schwarzmüller, Max (2018-05-01). React - The Complete Guide (incl. Hooks, React Router and Redux) (美國英文). Packt Publishing.{{cite book}}: CS1 maint: ref duplicates default (link)
    • Wieruch, Robin (2020). The Road to React. Leanpub. ISBN 978-1720043997.{{cite book}}: CS1 maint: ref duplicates default (link)
    • Dere, Mohan (2017-12-21). "How to integrate create-react-app with all the libraries you need to make a great app". freeCodeCamp (美國英文). 喺2018-06-14搵到.{{cite news}}: CS1 maint: ref duplicates default (link)
    • Panchal, Krunal (2022-04-26). "Angular vs React Detailed Comparison". SitePoint (美國英文). 原先內容歸檔喺2023-03-30. 喺2023-06-05搵到.{{cite news}}: CS1 maint: ref duplicates default (link)
    • Hámori, Fenerec (2022-05-31). "The History of React.js on a Timeline". RisingStack. 原先內容歸檔喺2022-05-31. 喺2023-06-05搵到.{{cite news}}: CS1 maint: ref duplicates default (link)
    • Lardinois, Frederic. "Facebook announces React Fiber, a rewrite of its React library". InfoWorld. 原先內容歸檔喺2018-06-12. 喺2023-06-05搵到.

參考文獻

[編輯]
  1. ↑ Occhino, Tom; Walke, Jordan (2013年8月5日). "JS Apps at Facebook". YouTube. 原先內容歸檔喺2022年5月31日. 喺2018年10月22日搵到.
  2. ↑ "Release 19.3.1". 2026年10月14號. 喺2026年10月15號搵到.
  3. ↑ "What's new in React 19". 原先內容歸檔喺2024年5月12日. 喺2024年5月12日搵到.
  4. ↑ "React - A JavaScript library for building user interfaces". reactjs.org (美國英文). 原先內容歸檔喺2018年4月8日. 喺2018年4月7日搵到.
  5. ↑ "Chapter 1. What Is React? - What React Is and Why It Matters [Book]". www.oreilly.com (英文). 原先內容歸檔喺2023年5月6日. 喺2023年5月6日搵到.
  6. ↑ Krill, Paul (2014年5月15日). "React: Making faster, smoother UIs for data-driven Web apps". InfoWorld. 原先內容歸檔喺2018年6月12日. 喺2021年2月23日搵到.
  7. ↑ Hemel, Zef (2013年6月3日). "Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews". infoq.com (美國英文). 原先內容歸檔喺2022年5月26日. 喺2022年1月11日搵到.
  8. ↑ Dawson, Chris (2014年7月25日). "JavaScript's History and How it Led To ReactJS". The New Stack (美國英文). 原先內容歸檔喺2020年8月6日. 喺2020年7月19日搵到.
  9. ↑ Dere 2017.
  10. ↑ Panchal 2022.
  11. 1 2 3 4 Wieruch 2020.
  12. ↑ Schwarzmüller 2018.
  13. ↑ "Components and Props". React. Facebook. 原先內容歸檔喺2018年4月7日. 喺2018年4月7日搵到.
  14. ↑ Larsen 2021.
  15. ↑ "Introducing Hooks". react.js. 原先內容歸檔喺2018年10月25日. 喺2019年5月20日搵到.
  16. ↑ "The State of JavaScript 2019: Front-end Frameworks". State of JS. 原著喺2020年7月9日歸檔. 喺2020年7月9日搵到.

參見

[編輯]

互聯網檔案館嘅歸檔,歸檔日期2024-08-19.