如何使用Expo(React-Native)在Web浏览器中呈现HTML字符串?

时间:2020-04-01 13:04:52

标签: reactjs react-native expo react-native-web expo-web

我正在使用react-native-webview-quilljs来呈现格式化的HTML文本。它可以在Android和iOS上正常运行,但在网络上(即react-native-web / expo-web)不受支持。因此,当我在浏览器上呈现格式化的字符串(即呈现非格式化的文本)时,我设法去除了HTML标签。

然后我意识到react-native-web实际上使用React在浏览器上呈现react-native组件。 React具有dangerouslySetInnerHTML之类的功能,它允许直接在浏览器中呈现注入的HTML字符串。

因此,有一种方法可以使用dangerouslySetInnerHTML / react-native项目中的expo

经过仔细检查,我发现html标签在浏览器中呈现时已转换为html实体。看看下面的图片。

enter image description here

1 个答案:

答案 0 :(得分:1)

<div>时使用dangerouslySetInnerHTML道具渲染Platform.OS === 'web',解决了问题(宁愿称之为解决方法)。

示例:

Platform.OS === 'web'
    ? <div dangerouslySetInnerHTML={{ __html: Details }} />
    : <View style={{flex: 1}}>
        <WebViewQuillJS
            backgroundColor={'transparent'}
            content={Details}
            isReadOnly
        />
    </View>