我正在学习 React:完全是新手。
如果我直接从 Draft.js 将 HTML 保存在 DB 中(或者它的变体总是基于它),然后在我的 React SPA 的视图页面中,我会通过我的 API 从 DB 检索 HTML:
问题:
我怎样才能呈现那个 HTML?
危险地SetInnerHTML?或者也许是其中之一(你有什么建议?)?
我读过诸如“消毒”、“保护 HTML”之类的词。但是,怎么会有图书馆?
当我将它保存在 DB 中或之后,当我渲染它时,我需要保护来自 Draft-js 的 html 吗?
我正在尝试保存editorState到数据库并显示回编辑器。对于这件事,我遵循了这个答案
现在,当我尝试获取当前内容并使用 永久保存它时convertToRaw,它工作正常。但是当我尝试使用这些数据并将原始数据转换为contentState使用时convertFromRaw,出现以下错误:
未捕获的类型错误:contentState.getBlockMap 不是函数
editorState这是我从保存状态转换的代码:
{
const convertedState = convertFromRaw(JSON.parse(value))
const editorValue = EditorState.createWithContent(convertedState);
}
Run Code Online (Sandbox Code Playgroud)
这样,它会在编辑器中显示数据,但是当我向富编辑器中输入内容时。它提示:
未捕获的类型错误:contentState.getBlockMap 不是函数
附:使用draft-js: '0.10.5'