一個故事:組件掛載後設置狀態?
我有一個服務器呈現,但我的應用程序的某些部分不能在那裏完成,因爲他們使用文檔(反應藝術庫在畫布上繪圖)。 我無法呈現所有內容,因爲反應會說從服務器和客戶端收到的代碼不一樣。
所以我的解決方案是渲染我的應用程序在服務器上的一部分,然後渲染這部分在客戶端,並在下一幀,呈現一切無法呈現在客戶端上。
所以我想在componentDidMount
使用setState
,引發DOM更新,所以它可以包含不能在服務器上進行渲染渲染客戶端部分,但eslint說,這是不好的componentDidMount
設置狀態。從邏輯上說,我不能說在這種情況下爲什麼它不好。一般來說它不好,因爲它會觸發DOM更新,但在我的情況下,這是我真正需要的。
你會在這種情況下建議什麼?
編輯1: 固定錯字,我的意思是componentDidMount
不componentDidUpdate
。
編輯2: Here是同一個問題,但他們使用改變狀態componentDidMount
作爲一種解決方法。
看一看[文件](https://facebook.github.io/react/ 'getInitialState'的docs/component-specs.html#getinitialstate)。 –
'getInitialState'用於設置初始值,但我沒有問題。我的問題是:「組件安裝後如何更改狀態?」 –