2017-06-16 392 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

相关问题