如何使用draft-js从数据库获取/保存数据

问题描述:

我决定在此提出问题。我使用mysql作为数据库作为存储,并希望将draft-js添加到我正在构建的网页中。获取数据并将数据保存到数据库中的正确方法是什么?任何工作示例都会很棒!如何使用draft-js从数据库获取/保存数据

您应该使用convertToRawconvertFromRaw方法。从文档提取物:

convertFromRaw(rawState: RawDraftContentState): ContentState 

鉴于原始状态,将其转换为ContentState。当 恢复要在草稿编辑器中使用的内容时,这很有用。

convertToRaw(contentState: ContentState): RawDraftContentState

给定一个ContentState对象,将其转换为原始JS结构。在保存编辑器状态以存储,转换为其他格式或应用程序中的其他用法时,这是 有用。

我叉this笔演示这些方法是如何工作的。打开my pen。首先,我们来考虑一个保存编辑器状态。我添加了“日志编辑器状态”按钮。如果您打开控制台并单击该按钮,则可以将编辑器状态的当前表示视为JavaScript对象。您可以将此对象转换为JSON,并使用适当的API端点将此JSON保存到数据库中。

点击图片为全尺寸 log state

当你需要证明你的页面上的编辑器不是空的,与您以前保存在数据库或者,例如预定义的内容的情况下,localStorage的。在这里,您应该使用createWithContent方法和上面提到的convertFromRaw方法。在我的示例中,我将JSON字符串存储在变量editorStateAsJSONString中,对于真实世界的情况,您应该请求返回JSON的API端点,并在此之后按照描述呈现编辑器组件。

create with content