Как отобразить строку HTML в веб-браузере с помощью Expo (React-Native)? - PullRequest
1 голос
/ 01 апреля 2020

Я использую 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 голосов
/ 07 апреля 2020

Решил это (лучше назвать это обходным путем), отобразив <div> с dangerouslySetInnerHTML prop, когда Platform.OS === 'web'.

Пример:

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