将 React 应用程序转换为 React Native 的最快方法是什么?

新手上路,请多包涵

这可能是一个幼稚的问题,但我找不到关于这个主题的太多信息。我有一个功能齐全的 react-redux 应用程序,现在我想将它移植到 iOS 和 Android。我不需要使用任何原生功能,如 GPS 或相机等。理论上,我只想制作一种运行现有 React 应用程序的 webview,然后对其进行调整,直到它看起来更美观。我的第一次尝试是简单地使用我当前的 jsbundle 文件并将其作为 jsCodeLocation 粘贴到 AppDelegate 中。这可能会导致各种错误,例如未定义“窗口”。

我想我的问题是:人们通常如何管理他们的本地和非本地代码库?它们是完全分开的,还是有办法回收大部分代码?

原文由 tbogatchev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
1 个回答

正如其他人提到的那样,没有快速的方法将反应转换为反应本机。

如果您希望您的 React 应用程序在不重写代码库的情况下在移动设备上运行,一个可能的替代方案是使用 Cordova。为了好玩,我在短短几分钟内将一个 react-web 应用程序移植到一个使用 Cordova 的移动应用程序中。这种方法有一些缺点,但好处是您可以在很短的时间内拥有一个可用的移动应用程序。

如果有人对 Cordova 替代方案感兴趣,请执行以下步骤:

REACT SETUP(在命令行中完成)

 >1. npx create-react-app my-app
>2. cd my-app
>3. npm start

部署到静态:

 >1. Update your package.json file from your my-app directory to add "homepage":"." (see below)

  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "homepage":".",
  "dependencies": {

 >2. Build (in command line) npm run build

CORDOVA 集成(在命令行中)

 >1.  cd ../ (change to wherever you want the project created, don't do this inside your existing react app folder)
>2.  npm install -g cordova (only if you already don't have Cordova installed)
>3.  cordova create MyApp
>4.  cd MyApp
>5.  cordova platform add ios //or android or browser

添加几个步骤以包含您的 React 项目

>1. Open your Cordova MyApp www folder, delete all files and folders in it except for the 'js' folder
>2. Back in your react build folder update the index file to add two cordova scripts:

 <script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>

 >3. copy all your files from the react build folder into the Cordova www folder (replacing everything except the js folder)

构建 REACT-CORDOVA 应用程序(在命令行中,在您的 Cordova 项目中)

 >1. cordova build ios //or android or browser

测试或部署到存储等。

 >1. Use xcode to open open your react-cordova .xcodeproject, this can be found in the MyApp/Platforms/ios/
>2. Select your simulator and run.  Enjoy your new mobile app!

调整 您需要做一些小的调整(例如删除点击延迟…等)-我认为这就是人们认为 Cordova 应用程序速度慢的原因,但这是一个简单的修复…

原文由 Paul Schorey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题