2017-05-06 65 views
1

我想在組件中確定是否構建了我的React應用程序以與校驗和進行比較或正常渲染。有沒有辦法讓組件在初始「校驗和」渲染上的行爲稍有不同?如何檢測服務器上是否呈現了React應用程序?

具體來說,我有一個使用畫布的組件,服務器不能這樣做。所以在服務器上,我希望它只呈現一個空的元素,然後在客戶端上匹配校驗和,然後進行更新。

或者像這樣的情況下讓React替換服務器使用新的元素渲染的元素會更好嗎?

+0

關於服務器上的渲染畫布,您可以使用phantomjs;) – juliobetta

回答

1

要檢查我用一個簡單的輔助功能的環境:

isBrowser =() => typeof window !== 'undefined' && window.document !== undefined; 

這工作,因爲windowwindow.document是特定於瀏覽器的對象。使用這個幫助器,你可以擁有特定於瀏覽器/服務器的行爲。

+0

謝謝,但我不想知道它是服務器還是瀏覽器 - 我試圖解決,如果瀏覽器正在運行其初始渲染傳遞給與服務器生成的版本比較,或者如果它是接收新道具的後續傳遞。 – futuraprime

+0

你能在服務器中設置一個標誌,然後在瀏覽器中刪除該標誌嗎? –

相關問題