2017-06-16 72 views
2

我想將React組件的狀態保存到數據庫中。將JSX轉換爲JSON或字符串,然後再返回

Json.stringify(myComponent); 

然而,當我嘗試使用JSON.parse再次使用的組件,我得到

Error: Objects are not valid as a React child (found: object with keys {type, key, ref, props, _owner, _store}) 

這是一個JSON陣列。我讀到這是由JSX密鑰引起的。

是否有任何包允許我將JSX保存爲字符串或對象,然後再次將其作爲React組件進行渲染?

+1

爲什麼不保存狀態對象本身而不是整個組件? – Weedoze

回答

0

我正在玩這樣的事情,我想在數據庫中存儲反應組件的表示形式並將其呈現回來。經過一番研究,我想出了一種將組件存儲爲JSON blob並將其呈現回UI的方式。

把它弄出來。 https://gist.github.com/praveensastry/132eacff4a684a48e73cae21f2451078

+1

感謝您的回覆。我會upvote,如果我有Stackoverflow的聲望來做到這一點。 –

0

感謝您的回覆。

我已經解決了這個問題,把它轉換成html字符串,然後用html-react包把它們轉換回來。

ReactDOMServer.renderToStaticMarkup(entry); 
//save to database as a html string. 

然後用這個來轉換html字符串來作出反應。 https://github.com/mikenikles/html-to-react

相關問題