假设您想使用 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,请确保检查您要使用的库是否符合您的要求。如果您有任何疑问,请在下面的评论中告诉我!