我的草稿 js 编辑器工作正常,它使用 convertToRaw(editorState1.getCurrentContent())
保存到我的数据库中。 ,我将其取回并使用 Draft-js-export-html 和 stateToHTML(convertFromRaw(dbContent.content.text01))
将其转换为 HTML .
到目前为止一切都很好...但是现在我有原始的 HTML,我想在我的 React 组件中显示它,但麻烦来了。
只需用 {props.text01}
渲染它将其输出为字符串并变成 <p>adfasfadfs</p>
作为文本。
显然我希望它呈现为 HTML。我该怎么做?
我已经研究过dangerouslySetInnerHTML,但我不希望使用其他插件来让我的 Draft js 按照我想要的方式工作。
我的方法是错误的吗?还是dangerouslySetInnerHTML是唯一的方法?
最佳答案
如 this answer 中所述,React 默认情况下会转义 HTML(这就是为什么它只是呈现为字符串)。但您可以使用危险的SetInnerHTML 属性强制渲染。您只需考虑潜在的 XSS 攻击。
如果草稿已安装,另一种简单渲染内容的方法是使用 readOnly prop在草稿编辑器上。
关于javascript - Draft.js和stateToHTML,如何在react组件中渲染输出html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43914432/