栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

可以使用React Native将React js Web代码用于构建移动应用吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

可以使用React Native将React js Web代码用于构建移动应用吗?

在React Web应用程序和React Native应用程序之间共享应用程序逻辑,同时保持每个平台唯一的组件渲染是可能的!

我认为,这是我们提供的绝佳选择。我将为您提供该方法的概述和一些建议。

在理想的世界中,我们将能够共享100%的代码。据我所知,这是不可能的,但是我们仍然可以共享很多代码。尽管React Native类似于React,但是要注意
渲染代码是不同的 ,这一点非常重要。取而代之的是诸如Web

<div>
或Web之类的东西
<span>
,您可以使用React
Native组件(如
<View>
<Text>
和其他内置组件。

但是,在大多数情况下,业务逻辑只是Javascript,这是我们可以共享的重要内容之一!

计划

根据您使用的Flux架构,这意味着您的商店,Reducer,操作将是共享代码,以及大多数业务逻辑(服务内部或其他内容)以及常量和实用程序。

然后,将使用React Native为每个本机平台专门编写UI层,并使用React为Web专门编写UI层 。不仅因为有必要用React
Native组件替换HTML元素,还因为这些组件在移动应用程序上的行为可能完全不同。

一些一般准则/建议

  • 考虑一个好的架构和代码结构,以便共享尽可能多的代码(和应用程序逻辑)。尝试分离UI呈现组件(每个平台将有所不同)。

  • 看一下React Native文档中的Javascript Environment细节。使用React Native时,您将在两种环境中运行Javascript代码:

* 在iOS模拟器和设备上,Android模拟器和设备上。React

Native使用JavascriptCore,它是支持Safari的Javascript引擎。在iOS上,由于iOS应用程序中没有可写的可执行内存,因此JSC不使用JIT。
*使用Chrome调试时,它将在Chrome本身中运行所有Javascript代码,并通过WebSocket与本机代码进行通信。因此,您正在使用V8。

虽然两种环境非常相似,但是您最终可能会遇到一些不一致之处。

  • 考虑共享代码的不同策略。为了访问共享代码,构建的应用程序不必全部都驻留在同一代码库或git存储库中。

实际上,您将单独托管两个或多个项目,因此npm软件包是在它们之间共享代码的最简单方法之一。

制作一个新程序包并将其设置为每个项目中的依赖项很容易。对于共享项目的路径,可以使用git存储库,而不是指向npm上的公共包。

即使您现在仅构建Web应用程序, 也可以花一些时间考虑如何概括一些共享代码 ,以便将来更轻松地重用它。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427212.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号