在draft-native上查看草稿js输出

时间:2016-11-07 18:16:46

标签: react-native draftjs

考虑在Web应用上使用Draft.js进行富文本编辑,然后将输出转换为带有Draft.js convertToRaw 功能的json对象,并将 store 转换为数据库

如果富文本的使用者是反应原生的移动应用程序,那么表示富文本的最佳方法是什么?

  1. 是否存在遍历json对象并导出原生$scope.model.selectedAllText组件的强大工作或库?

  2. 还有一些库将json对象导出为html:

  3. 然后可以使用 webview 组件表示导出的html。这是一种可靠的方法吗?

    1. 表示的另一种方式是将做出反应置于反应原生的 webview 中,并将Draft.js Image readOnly 道具一起使用。但我不知道该走哪条路!

2 个答案:

答案 0 :(得分:5)

  1. 这似乎是最好的方法。 您必须获取json并编写一个解析Draft.js模型(inlineStyleRangesentityRangesentityMap,...)的解析器,并在此基础上导出到本机组件。 在工作中我们遇到了同样的问题,因此我们开发了一个完成工作的库,它被称为react-native-draftjs-render。 它有一个示例项目,您可以在其中查看其工作原理并了解如何使用它。它也可以在npm。

  2. 如果您已经拥有html版本并想要使用它,您还需要一个解析器将html转换为本机组件。 react-native-htmlview似乎已经这样做但我从未使用过。

  3. 渲染原生组件比使用网页浏览更好(它们非常有限且速度慢),所以我不推荐这种方法。

答案 1 :(得分:0)

我们使用redraft来处理从draft-js渲染到HTML5和Weex(rax)的富文本。我相信你可以用它来实现你的目标,因为redraft只是一个零依赖的转换函数,你可以自定义HTML中的div或React Native中的View