javascript - Draft.js和stateToHTML,如何在react组件中渲染输出html?

标签 javascript html reactjs draftjs draft-js-plugins

我的草稿 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/

相关文章:

php - 单击时弹出图像,类似于 tumblr

javascript - 单击后如何使鼠标悬停?

jquery - 为什么粘性导航在 'sticks' 时会改变宽度?

node.js - 如何在客户端进行 react 将图像上传到 mongodb 缓冲区

javascript - 如何制作一个可以编辑和保存的函数

javascript - 更新到 Chrome v65 并开始收到此错误 : Expected onClick listener to be a function, 而不是收到类型字符串

javascript - 向 everyauth 添加另一个步骤的最佳方法是什么?

javascript - Django session 与浏览器本地存储

javascript - 如何在所见即所得编辑器中保持 html 属性不变?

html - 如何重叠 3 张图像并将它们对齐到 div 的底部?