如何将 HTML 渲染为 React Native

假设您想使用 React Native 将您的网站或 Web 应用程序转换为移动应用程序,或者您有静态 HTML 代码,您希望在应用程序的任何特定页面上显示。你会怎么做?你会重写一大堆代码吗?

当然没有必要。如何停用您的 LinkedIn 帐户您可以将 HTML 直接渲染到 React Native 中。哇!太棒了。因此,在本文中,我们将学习如何使用该库将 HTML 呈现为 React Native。让我们看看它是如何工作的。如何比较 Google 文档中的文档react-native-render-html

跳跃前进:

  • 设置我们的 React Native 项目

  • 用于将 HTML 渲染为 React Nativereact-native-render-html如何将 HTML 解析为 React Nativereact-native-render-html将样式应用于元素

  • 探索替代方案react-native-render-html

本教程的一些先决条件包括在您的设备上安装 npm 和 Node.js 如何在 Outlook、Yahoo Mail 和 Gmail 上创建电子邮件别名以及对 React 和 React Native 有基本的了解。

设置我们的 React Native 项目

要开始本教程,我们需要设置一个 React Native 项目。我们将通过运行以下命令来执行此操作:

npx react-native init MyTestApp

现在让我们继续前进。如何从 PDF 文件中提取表格创建项目后,我们将使用以下任一命令运行一次以检查一切是否按预期工作:

npm run android

//or

npm run ios

该应用程序将根据您选择的配置构建并开始运行,如何链接 Google 文档中的段落或部分无论您使用的是虚拟设备还是 Android 或 iOS 设备。

您可以修改该文件以在您的主页(应用程序的入口页面)如何在手机和 PC 上反向搜索图片上查看更改。我更改了几行代码来检查它是否工作正常。如果一切顺利,您可以看到如下所示的主页:App.js

用于将 HTML 渲染为 React Nativereact-native-render-html

在本教程中,如何在 Google 文档中添加上标或下标文本我们将使用该包将 HTML 渲染到我们的 React Native 应用程序中。保留一些示例 HTML 代码以供稍后在 React Native 应用程序中使用。react-native-render-html

该库是一个开源组件,如何在 Telegram 上进行群组视频通话拥有超过三千个 GitHub 星和 46 个贡献者。它获取您的 HTML 并在您的 iOS 或 Android 应用程序中呈现 100% 本机视图。react-native-render-html

这个库支持我们在开发 Web 应用程序时通常使用的所有文本 CSS 方法。如何在 Google 表格中创建热图除了文本,它还支持图像、锚标签和列表。

如何将 HTML 解析为 React Nativereact-native-render-html

该文档使用以下数据流图来演示此工具如何将 HTML 解析为如何在 Google 云端硬盘上阻止或取消阻止某人 React Native:react-native-render-html

总之,首先,我们传递的 HTML 标记将被解析为 DOM。如何在 Microsoft Edge 中使用 Super Duper 安全模式然后,基于输入组装瞬态渲染树。之后, TTree 被渲染成 Virtual DOM。

要了解有关渲染工作原理的更多信息,如何在 Google 文档中使用段落缩进请参阅文档。否则,让我们继续我们的实际示例。

将样式应用于元素

对于样式,您可以使用内联样式,如何在移动设备和桌面设备上自动翻译网页如下所示:

<p style= "color: purple; font-size: 2rem;">

以上不会破坏您的应用程序。如何在 Google 文档中添加引文和参考书目它支持四种自定义元素样式的 props:base、id 样式、class 样式和标签样式。

还有另一种处理样式的方法,如何从 WhatsApp 中删除贴纸即使用mixedStyle记录。基本上,mixedStyle是一个包含所有 CSS 的对象;样式将从那里应用。请参见下面的示例:

//JavaScript

const mixedStyle = {

body: {

whiteSpace: 'normal',

color: '#aaa'

},

p: {

color: '#fff'

}

}

要在 HTML 呈现到 React Native 期间使用您的自定义样式,如何使用 Google Travel 计划您的旅行该库支持该属性。您可以在该属性中传递声明的样式,如下所示:react-native-render-htmltagsStyles

//JavaScript

<RenderHtml

source={source}

tagsStyles={mixedStyle}

/>

请记住,在向 React Native 应用程序呈现 HTML 和自定义样式时,如何在Google相册中启用人脸搜索图片?React Native 样式将在构建时被忽略,并且不会被应用或反映。

使用该库,您可以玩转用于 DOM 篡改的生态系统。您可以在任何时间点处理 DOM。如何使用Google表格中的文本分列功能例如:react-native-render-htmlhtmlparser2

import React from 'react';

import { useWindowDimensions } from 'react-native';

import RenderHtml from 'react-native-render-html';

import { removeElement, isTag } from 'domutils';

function onElement(element) {

// Remove the first p from div which has class "parentDiv"

if (element.attribs['class'] == 'parentDiv') {

let i = 0;

for (const p of element.children) {

if (isTag(p) && i < 1) {

removeElement(p);

i++;

}

}

}

}

const source = {

html: `

<div class="parentDiv">

<p>para-1</p>

<p>para-2</p>

<p>para-3</p>

</div>

`

};

const domVisitors = {

onElement: onElement

};

export default function App() {

const { width } = useWindowDimensions();

return (

<RenderHtml

contentWidth={width}

source={source}

domVisitors={domVisitors}

/>

);

}

现在让我们使用外部库在应用程序中呈现 HTML 代码。如何使用谷歌星空地图探索外太空为此,您需要修改文件,如下所示:App.js

//JavaScript - JSX

import type {Node} from 'react';

import {

ScrollView,

Text,

View,

} from 'react-native';

import RenderHtml from 'react-native-render-html';

const source = {

html: `

<header style="max-width: 1200px;

overflow: hidden;

box-sizing: border-box;

margin: 20px auto;

text-align: center;">

<nav style="padding: 20px 0 0;

max-width: 400px;

margin: 0 auto;">

<a style="display: inline-block;

color: #666666;

text-decoration: none;

font-size: 14px;

cursor: pointer;" href="#section1">Section 1</a>

<a style="display: inline-block;

color: #666666;

text-decoration: none;

font-size: 14px;

cursor: pointer;" href="#section1" href="#section2">Section 2</a>

</nav>

</header>

<header style="display: none;

position: fixed;

width:100%,

top: 0;

background: #FFFFFF;

margin: 0 -15px;

width: 100%;

border-bottom: 1px solid #CCCCCC;

box-sizing: border-box;

box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.5);

opacity: 0.9;

z-index: 100;">

<div style="max-width: 1200px;

padding: 15px 30px;

margin: 0 auto;

overflow: hidden;

box-sizing: border-box;">

<nav style="padding: 5px 0;

max-width: 400px;

float: right;

text-align: right;">

<a style="display: inline-block;

color: #666666;

text-decoration: none;

font-size: 14px;

cursor: pointer;" href="#section1">Section 1</a>

<a style="display: inline-block;

color: #666666;

text-decoration: none;

font-size: 14px;

cursor: pointer;" href="#section2">Section 2</a>

</nav>

</div>

</header>

<div style="min-width: 300px;

margin: 0 auto;

height: 1000px;

position: relative;

">

<div style="min-height: 100px;position: relative; background: #ffd6cd; width=100vw;" id="section1">

<h1 style="text-align: center;

line-height: 500px;

color: #666666;

margin: 0;">Section 1</h1>

</div>

<div style="min-height: 100px;position: relative; background: #ddebfd; width=100vw;" id="section2">

<h1 style="text-align: center;

line-height: 500px;

color: #666666;

margin: 0;">Section 2</h1>

</div>

</div>

</div>

`

};

const App: () => Node = () => {

return (

<ScrollView contentInsetAdjustmentBehavior="automatic">

<View>

<Text style={ {top:"3%", textAlign:"center"}}>

Render HTML to React Native demo

</Text>

<RenderHtml

source={source}

/>

</View>

</ScrollView>

);

};

export default App;

从第 10 行开始,在source变量中,如何在 Canva 中创建和自定义表格我们编写了 HTML 代码。然后,此代码由第 94 行调用的方法呈现。RenderHtml我们必须提供 HTML 作为源属性,包将处理其余部分。

为了演示从外部库呈现的 HTML 看起来与使用 React Native 编写的代码相同,如何从 Gmail 邮件创建任务和列表第 91 如何在CANVA中裁剪、修剪、合并视频?行使用默认的 React Native如何在 Microsoft Teams 中添加联系人 方法<Text>来显示文本。

默认方法呈现的文本和呈现 HTML 的文本输出都应如下所示:

探索替代方案react-native-render-html

除了库之外,还有一个选项可以将 Web 组件渲染到 React Native 应用程序中——React Native WebView。如何更改Zoom个人资料图片?这种现代的跨平台替代内置 webview 非常支持嵌入从整个 web 应用程序到简单的 HTML 文件的任何内容。react-native-render-html

在这个库中,您可以找到与上述类似的模式。如何在 Android 和 iOS 上的 Telegram 中使用秘密聊天查看以下示例:

//Javascript - JSX

import React, { Component } from 'react';

import { StyleSheet, Text, View } from 'react-native';

import { WebView } from 'react-native-webview';

// ...

class MyWebComponent extends Component {

render() {

return <WebView source={ { uri: 'https://reactnative.dev/' }} />;

}

}

这个库有很多有用的功能——比如上传和下载文件、如何在Google文档中插入编辑和自定义图表?自定义 cookie、页面导航等等。查看React Native WebView 的完整指南,看看它是否是满足您需求的正确解决方案。

结论

由于 React 的流行,React Native 很受欢迎。如何在 Microsoft Outlook 中创建自定义表单如果您了解 React,那么使用 React Native 的原生支持通过 React 制作移动应用程序会很简单。

此外,如何在 Microsoft Outlook 中创建和使用名片您可能已经准备好 HTML,并希望使用现有代码制作移动应用程序,而不是重写它以适应您的目标平台。如何在CANVA中裁剪、调整大小和翻转图像使用上面讨论的方法之一,可以将 HTML 本地呈现为 React Native。您无需重新发明轮子即可在 Android 或 IOS 应用程序中使用它。

我过去常常重写代码以使其成为本机应用程序,如何在 Telegram 中创建和管理聊天文件夹但我开始了解一些非常棒的库,如何在 Spotify 上创建和分享播放列表我可以使用这些库来展示我的 HTML。生成的视图与本机视图相同,因此这种方法不会影响用户体验。

如果您想在 React Native 应用程序中直接呈现 HTML,请确保检查您要使用的库是否符合您的要求。如果您有任何疑问,请在下面的评论中告诉我!

猜你喜欢

转载自blog.csdn.net/weixin_47967031/article/details/130027863