如果你剛剛開啟web開發(fā)生涯的人生,并且已選擇使用
React,或者你正在考慮使用它,那么你可能會碰到很多問題。這里收集了一些關于 React 的常見問題,都關于 React
的各個方面。對React感興趣的同學,可以報名參加Web前端培訓,可以在較短時間內(nèi)獲得很大提升。
1. 什么是反應?
React 或 ReactJS,有時被稱為是一個 Javascript 庫,用于為 Web
應用程序和網(wǎng)站構(gòu)建交互式用戶界面,旨在最大限度地減少為 Web 應用程序和網(wǎng)站創(chuàng)建用戶界面所花費的時間和精力。該項目于 2013 年開源,現(xiàn)在由
Facebook 以及來自世界各地的個人開發(fā)人員和公司維護。
2. React 是框架還是庫?
第一點已經(jīng)說明了React 是一個庫,這里進一步解釋為什么它是一個庫而不是一個框架。
框架和庫之間的一個關鍵區(qū)別是框架定義了代碼的結(jié)構(gòu)和架構(gòu)。它決定了你的應用程序的開發(fā)方式。你可以將其視為房屋的模板。另一方面,庫更像是你可以添加到現(xiàn)有房屋中的家具和房屋配件。
庫是在開發(fā)過程中執(zhí)行常見重復功能的程序的集合。因此,就像家具一樣,你可以將庫添加到現(xiàn)有代碼庫中以供使用。這正是 React
的設計方式。它可用于為你的應用程序創(chuàng)建 UI 組件或編輯以前使用 HTML 創(chuàng)建的 UI
組件。你定義你想如何使用它,這與框架的功能形成鮮明對比。在Web前端培訓中,有很多關于React的學習課程,可以讓你快速掌握這門技術的使用,高效完成開發(fā)任務。
3. React 是由什么語言組成的?
React 是一個 Javascript 庫,因此它是用 Javascript 制作的。要使用它,就要使用
Javascript?;蛘?,你可以選擇使用 JSX 或 Javascript eXtension(一種 XML-Esque 語言)來構(gòu)建 UI 組件。 JSX
語法仍將轉(zhuǎn)換為等效的 Javascript,但它更容易編寫。
由于 React 的流行,幾乎所有轉(zhuǎn)換為 Javascript
的語言(Typescript、Flow、ReasonML、Clojurescript、Purescript 等)都有綁定。
4. 什么時候使用 React?
React 最初是由 Facebook 作為 Javascript 庫發(fā)布的,用于為 Web
構(gòu)建用戶界面。從那以后,它已經(jīng)超越了這一點。 2015 年,F(xiàn)acebook 發(fā)布了 React Native 一個跨平臺的移動框架,它利用 React 為
Android 和 iOS 構(gòu)建用戶界面。
5. 是否需要額外設置?
設置 React 并不像啟動一個設置文件那么簡單,它涉及很多過程,除了安裝 React
庫本身之外,你還需要安裝其他包和大量配置才能擁有完整的 React 開發(fā)環(huán)境。
需要安裝 webpack 和 babel 等包并配置它們以擁有完整的 React
開發(fā)環(huán)境。你可能可以跳過安裝這些包并在沒有它們的情況下開發(fā)簡單的項目,但對于較大的項目,你應該安裝它們。想要學習React更多技能,可以報個Web前端培訓班,有系統(tǒng)全面的課程和明確清晰的學習路線,讓學習更輕松更有效。
6. 可以添加到現(xiàn)有項目中嗎?
React 作為一個庫可以與現(xiàn)有項目一起使用。在你的系統(tǒng)上設置好之后,你需要做的就是將 react 和 react-dom
腳本標簽添加到你現(xiàn)有的 HTML 代碼中,然后調(diào)用包含你使用腳本標簽創(chuàng)建的組件的 Javascript 文件。然后你放置一個 div 標簽,將組件名稱作為它的
id,放在你想要放置 React 組件的地方,你就可以開始了。
7. React 是否支持漸進式遷移?
React
的設計方式使其易于逐漸適應。你可以只使用其中的一些功能,而將其他功能排除在外。隨著時間的推移,你可以在你的代碼庫中包含更多的 React 特性。像
Netlify 這樣的流行公司已經(jīng)成功地從其他 Javascript 庫/框架遷移到 React,這樣做是漸進的。
8. 如何托管 React 應用程序?
React 應用程序可以像任何其他 Web 應用程序一樣托管。你可以選擇很多選項。你可以在 Github
Pages、Netlify、Heroku 和許多其他網(wǎng)站上托管你的 React 應用程序,盡管這些更適合靜態(tài)網(wǎng)站。對于動態(tài)站點,你可能需要考慮
AWS、Microsoft Azure 或 Google Cloud
等解決方案。想了解更多關于React的信息,不妨報名參加Web前端培訓,有理論和實踐項目一起學習,學以致用,在項目中鍛煉自己的思維能力和動手能力,獲得快速成長。
你還可以決定在托管之前使你的網(wǎng)站在服務器端呈現(xiàn)、客戶端呈現(xiàn)或預呈現(xiàn)。你的用例將確定這三個中的哪一個最適合你。 React
支持所有這三種渲染方法。 React 應用程序默認是客戶端渲染的。
但有時,你可能需要一些服務器端渲染應用程序帶來的優(yōu)勢,如 SEO
和感知性能。但是,如果你的大部分網(wǎng)頁只能在登錄頁面后訪問,那么服務器端應用程序就不值得了??蛻舳顺尸F(xiàn)的網(wǎng)站將更適合你的目的。
9. React開發(fā)者的體驗是怎樣的?
總的來說,一旦你安裝了所有必要的包,使用 React
進行開發(fā)是很容易的。但是你必須首先設置你的開發(fā)環(huán)境,這涉及安裝多個軟件包并進行順利和無故障開發(fā)所需的配置。
要開發(fā) React 應用程序,你需要使用 JSX 和 Javascript。如果你以前一直在開發(fā)網(wǎng)站,那么你會選擇
Javascript。另一方面,JSX 是特定于 React 的,需要一點時間來學習它。雖然它是可選的,但它使編寫 React
組件更容易。參加web前端培訓,有好的教學環(huán)境、系統(tǒng)規(guī)范的課程、主流軟件,不光可以擴展你的技術,同時緊貼就業(yè)市場需求設計。讓你學到的技能貼合就業(yè)市場,不怕面對就業(yè)競爭對手。
React 還支持充分利用 HMR(熱模塊重新加載),允許你即時更新應用程序,而無需重新加載頁面。
10. React 生態(tài)系統(tǒng)是什么樣的?
有很多工具和庫可用于幫助你使用 React
進行開發(fā)。有狀態(tài)管理工具、格式化、類型檢查、身份驗證、測試等等。它們一起形成了一種框架,但具有更大的靈活性,因為其中一些工具具有多個選項。
11. React 的性能如何?
React 非??欤@是因為一個主要原因,即虛擬 DOM。 DOM 或文檔對象模型是 HTML 代碼的表示。這就是讓
Javascript 能夠操作 HTML 元素的原因。它利用 DOM API 來實現(xiàn)這一點。不幸的是,由于現(xiàn)代網(wǎng)站的性質(zhì),操縱 DOM
可能會令人厭煩。
React 虛擬 DOM 是你與 React 交互的實際 DOM 的更簡單副本。它不會在每次狀態(tài)發(fā)生變化時重新加載整個
DOM,而是重新創(chuàng)建 React DOM 并使用差異算法將其與之前的版本進行比較。然后它指示 DOM
僅重新加載受影響的區(qū)域。這顯著減少了更新頁面所需的時間。通過Web前端培訓的學習,你不僅能夠掌握React的技術應用,也會對其底層原理有所了解,并通過實戰(zhàn)項目,具備獨立負責React
前端項目的能力。