React (JavaScript library)
原作者 | Jordan Walke |
---|---|
開發者 | Meta同埋附屬團體 |
初始版本 | 2013年5月29號[1] |
最新發布 | 18.3.1[2] / 2024年4月26號 |
測試版 | 19.0- beta / 2024年4月25號[3] |
程式語言 | JavaScript |
平台 | Web platform |
軟件類別 | JavaScript函式庫 |
許可協議 | MIT許可證 |
庫 |
React(又叫 React.js 或者 ReactJS)係一個自由開源軟件前端嘅JavaScript函式庫[4][5],用嚟建立基於組件嘅用戶界面,呢件軟件係由Facebook開發,依家由Meta(Facebook公司嘅新名)同埋另外一間公司一齊負責維持運作[6][7][8]。
React可以用嚟開發單頁應用、手機、或者服務器端渲染嘅應用, 用 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搵到.
- Larsen, John (2021). React Hooks in Action With Suspense and Concurrent Mode. Manning. ISBN 978-1720043997.
參考文獻
[編輯]- ↑ Occhino, Tom; Walke, Jordan (2013年8月5日). "JS Apps at Facebook". YouTube. 原先內容歸檔喺2022年5月31日. 喺2018年10月22日搵到.
- ↑ https://registry.npmjs.com/react.
- ↑ "What's new in React 19". 原先內容歸檔喺2024年5月12日. 喺2024年5月12日搵到.
- ↑ "React - A JavaScript library for building user interfaces". reactjs.org (美國英文). 原先內容歸檔喺2018年4月8日. 喺2018年4月7日搵到.
- ↑ "Chapter 1. What Is React? - What React Is and Why It Matters [Book]". www.oreilly.com (英文). 原先內容歸檔喺2023年5月6日. 喺2023年5月6日搵到.
- ↑ Krill, Paul (2014年5月15日). "React: Making faster, smoother UIs for data-driven Web apps". InfoWorld. 原先內容歸檔喺2018年6月12日. 喺2021年2月23日搵到.
- ↑ Hemel, Zef (2013年6月3日). "Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews". infoq.com (美國英文). 原先內容歸檔喺2022年5月26日. 喺2022年1月11日搵到.
- ↑ Dawson, Chris (2014年7月25日). "JavaScript's History and How it Led To ReactJS". The New Stack (美國英文). 原先內容歸檔喺2020年8月6日. 喺2020年7月19日搵到.
- ↑ Dere 2017.
- ↑ Panchal 2022.
- ↑ 11.0 11.1 11.2 11.3 Wieruch 2020.
- ↑ Schwarzmüller 2018.
- ↑ "Components and Props". React. Facebook. 原先內容歸檔喺2018年4月7日. 喺2018年4月7日搵到.
- ↑ Larsen 2021.
- ↑ "Introducing Hooks". react.js. 原先內容歸檔喺2018年10月25日. 喺2019年5月20日搵到.
- ↑ "The State of JavaScript 2019: Front-end Frameworks". State of JS. 原先內容歸檔喺2020年7月9日. 喺2020年7月9日搵到.