簡體   English   中英

了解ReactJS和NodeJS應用程序如何工作

[英]Understanding how ReactJS and NodeJS app can work

我正在努力學習React JS,但是我很難理解它應該如何與NodeJS一起使用,讓我們說使用Express。

到目前為止,我理解ReactJS在“MVC”中是“V”這很容易,我已經可以使用create-react-app編寫代碼

這就是我的理解:

  1. 將React和Express結合起來的“自然”方式就是簡單地在React中編寫前端,在Express中編寫api(例如使用Mongo)。 這樣我們就可以簡單地從React調用ajax調用我們的/ api並顯示數據

  2. 還有可能將React用於服務器端渲染,這需要更多的配置。 這樣我們就不會從React調用/ api,我們只使用React來編寫可由Express呈現的代碼

我的問題是我在想嗎? 不確定所有這些...... Isomorphic JavaScript是否與#2有某種關系?

你大多是正確的,但使用服務器端渲染並不意味着你也不會發出api請求。 服務器端呈現是一種用於改善初始加載時間的技術。 而不是拉下你的javascript包,然后進行一些api調用來加載它需要渲染的一堆數據,而不是在服務器上進行應用程序的初始渲染和引導。 然后將生成的html和應用程序的初始狀態返回給客戶端,以便可以立即向用戶顯示應用程序。 因此,當談論使用react的服務器端渲染時,它實際上是關於初始負載。

在初始加載之后,您仍然有一個動態前端應用程序。 當用戶與應用程序進行交互時,您仍然會發出api請求。 如果我在應用程序中進入不同的路徑(假設它是單頁應用程序)需要額外的數據,我仍然會發出加載該數據的GET請求。 如果我單擊按鈕更新資源,我仍然會發出PUT或PATCH請求。

因此,就快速和反應如何融合的問題而言,表達(或您使用的任何后端語言/框架)提供api與數據存儲中的數據進行交互。 並且反應允許您構建使用這些api的視圖。 服務器端渲染只是您可以使用的另一種技術,而不是完全獨立的范例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM