#react-native
Вопрос:
Я пытаюсь отобразить html из своего массива. Ничего не отображается, только пустое пространство — Как я могу отобразить HTML в своем компоненте?
import React from "react";
import {
View,
Text,
TouchableOpacity,
StyleSheet,
useWindowDimensions,
} from "react-native";
import HTML from "react-native-render-html";
const BannerWidget = () => {
const contentWidth = useWindowDimensions().width;
const testArray = [
{
productType: "Package",
status: "Included",
productName: "Advanced",
IsFreeProductRedeemed: false,
PackageItems: ["xxx", "ccc"],
freeText: "<p>sample <strong> FREE </strong> </p>",
},
];
return (
<View style={styles.container}>
<HTML
souce={{ html: testArray[0].freeText }}
contentWidth={contentWidth}
/>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
padding: 10,
color: "black",
},
});
export default BannerWidget;
Ответ №1:
Документы React Native в настоящее время рекомендуют React Native WebView. Это выглядело бы примерно так, как показано ниже.
<WebView
originWhitelist={['*']}
source={{ html: '<p>Here I am</p>' }}
/>
Просто добавьте модуль npm в свой проект. Импортируйте веб-представление и добавьте свой html-код, как показано выше.