我决定在这里提出这个问题。我使用mysql作为数据库作为存储,并希望将draft-js添加到我正在构建的网页中。获取数据并将数据保存到数据库的正确方法是什么?任何有效的例子都会很棒!
答案 0 :(得分:3)
您应该使用convertToRaw和convertFromRaw方法。文档摘录:
convertFromRaw(rawState: RawDraftContentState): ContentState
给定原始状态,将其转换为ContentState。这很有用 恢复要在草稿编辑器中使用的内容。
convertToRaw(contentState: ContentState): RawDraftContentState
给定一个ContentState对象,将其转换为原始JS结构。这是 保存编辑器状态以进行存储,转换为其他格式或应用程序中的其他用法时非常有用。
我分叉this笔来演示这些方法是如何工作的。打开my pen。首先,让我们考虑一个保存编辑器状态。我添加了#34;日志编辑器状态"按钮。如果打开控制台并单击该按钮,则可以将编辑器状态的当前表示形式视为JavaScript对象。您可以将此对象转换为JSON,并使用适当的API端点将此JSON保存在数据库中。
当您需要在页面上显示非空的编辑器时,使用您之前保存在数据库中的预定义内容,例如localstorage。在这里,您应该使用createWithContent
方法和上面提到的convertFromRaw
方法。在我的示例中,我将JSON字符串存储在变量editorStateAsJSONString
中,对于实际情况,您应该请求返回JSON的API端点,然后按照描述呈现编辑器组件。