2016-11-07 34 views
1

考虑使用Draft.js有关Web应用程序的富文本编辑,然后输出转换为一个JSON对象与Draft.js convertToRaw功能和它在数据库查看草案JS输出

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

  1. 有通过JSON对象和出口天然TextImage组件迭代任何强大的工作或图书馆?

  2. 也有一些JSON对象导出到HTML一些库:

导出的HTML然后可以被表示与webview组件。这是一种可靠的方法吗?

  • 另一种方式表示将推杆在反应天然网页视图反应并使用Draft.js EditorreadOnly的道具。但我不知道要走哪条路!
  • 回答

    0

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

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

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

    3. 渲染本地组件比使用webviews(它们非常有限和速度慢),所以我不建议这种方法。