前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >iOS React Native 混合开发集成React Native

iOS React Native 混合开发集成React Native

作者头像
星宇大前端
发布于 2019-01-15 06:54:24
发布于 2019-01-15 06:54:24
2K00
代码可运行
举报
文章被收录于专栏:大宇笔记大宇笔记
运行总次数:0
代码可运行

序:

   有时候我们并不是需要全部使用React Native,我们想和原生混合开发,那我们应该怎么办呢。

先看一下我集成完之后的项目目录:

首先安装React Native node组件

       1、新建一个文件夹如目录中的RN,这个文件夹用于存放React Native相关内容

       2、新建一个package.json用于安装node_modules。package.json内容如下:

{ "name": "RNHybrid",   //记得修改项目的名字 "version": "0.0.1", "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest" }, "dependencies": { "react": "16.0.0-alpha.6", "react-native": "0.44.0" }, "devDependencies": { "babel-jest": "20.0.3", "babel-preset-react-native": "1.9.2", "jest": "20.0.4", "react-test-renderer": "16.0.0-alpha.6" }, "jest": { "preset": "react-native" } }

       3、cd 你的项目路径,然后执行 nmp install。如下图:

  执行完上面的命令之后,打开你的项目目录下,你就会发现node_modules都下载到你新建的文件夹中了,如图:

         4、在新建的目录下新建index.ios.js,把之前React Native的例子拷过来就可以,记得改下modules的名字

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

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

export default class RNHybrid extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          iOS 原生 RN混合开发!
        </Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
});

AppRegistry.registerComponent('RNHybrid', () => RNHybrid);

Cocospod安装React Native

既然大家都来看RN了。cocospod就不用讲了吧。

1、podfile我们要加入的内容

路径填写你存放node_modules的路径即可。

pod 'Yoga',  :path => ‘./RN/node_modules/react-native/ReactCommon/yoga' pod 'React', :path => ‘./RN/node_modules/react-native', :subspecs => [  'Core',  'RCTText',  'RCTNetwork’,  'RCTWebSocket',  ]

因为Core依赖于Yoga所以要添加一下,至于项目中需要什么组件以后可以在subspecs依次添加。

2、然后pod install就行了,比较慢,你可以撸一把了。

3、成功之后,我们来用一下吧,我们可以在原生项目中加入RN界面试试。

NSURL *jsCodeLocation;

    jsCodeLocation = [NSURLURLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];

RCTRootView *rootView = [[RCTRootViewalloc]initWithBundleURL:jsCodeLocation

moduleName:@"RNHybrid"

initialProperties:nil

launchOptions:nil];

    rootView.frame =CGRectMake(0,0,[UIScreenmainScreen].bounds.size.width, [UIScreenmainScreen].bounds.size.height);

    [self.viewaddSubview:rootView];

下面代码大家有疑惑的估计就是这个url从哪来的,下面当你启动的时候,会告诉你。

4、启动RN

      cd 到你上面新建的文件夹里,如我项目中的RN文件夹,然后执行react-native start

这时候,你可以看出来,服务器启动的端口是8081,也就知道了上面那个url

5、这时候你启动的时候如果看到下面的画面:

修改ATS就可以了,会iOS的基本都会,不啰嗦了。

6、在运行下试试吧,结果如图:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年07月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
xcode工程集成 React-native步骤
跟着网上博客步骤来集成RN发现了很多坑,但是博客内容里面却没有记录这些坑,百度了很久都没找到解决方案,最后还是在谷歌搜索里面的一篇文章找到解决办法,在此记录下方便别人快速集成RN。
conanma
2021/11/02
2.4K0
React Native 混合开发(iOS篇)
在React Native的应用场景中,有时候一个APP只有部分页面是由React Native实现的,比如:我们常用的携程App,它的首页下的很多模块都是由React Native实现的,这种开发模式被称为混合开发。
CrazyCodeBoy
2018/09/26
8.3K0
新版React Native 混合开发(iOS篇)
在React Native的应用场景中,有时候一个APP只有部分页面是由React Native实现的,比如:我们常用的携程App,它的首页下的很多模块都是由React Native实现的,这种开发模式被称为混合开发。
CrazyCodeBoy
2020/04/24
5.7K0
iOS 嵌入React Native 0.55版本
https://facebook.github.io/react-native/docs/integration-with-existing-apps
井九
2024/10/12
1010
RN集成到现有原生应用-swift
创建一个空文件夹命名为你RN项目名称,在里面再新建一个文件夹/ios,把你现有的swift项目全部拷贝到/ios文件夹内。
用户6094182
2019/08/23
2K0
RN集成到现有原生应用-swift
React Native 混合开发(Android篇)
在React Native的应用场景中,有时候一个APP只有部分页面是由React Native实现的,比如:我们常用的携程App,它的首页下的很多模块都是由React Native实现的,这种开发模式被称为混合开发。
CrazyCodeBoy
2018/09/26
4K0
新版React Native 混合开发(Android篇)
在React Native的应用场景中,有时候一个APP只有部分页面是由React Native实现的,比如:我们常用的携程App,它的首页下的很多模块都是由React Native实现的,这种开发模式被称为混合开发。
CrazyCodeBoy
2020/04/24
7.4K0
RN同构系列:现有的IOS APP如何集成RN
react-native 大家都比较熟悉了,如果是一个全新的项目,直接使用 RN 的脚手架功能初始化项目就可以,直到上架之前,前端的小伙伴可能都不怎么需要关心 native 的代码。
腾讯IVWEB团队
2020/06/24
3.4K0
小记React Native与原生通信(iOS端)
emmm…… 先说个题外话,时隔一年,再遇RN,较之以前唯一不同的一点就是遇到的坑终于有人先踩了?本文会通过原生与RN页面相互跳转、方法间的相互调用、以及H5页面调用原生页面进而调用RN页面等方面来阐
谦谦君子修罗刀
2020/04/16
6.5K0
React Native 系列(三) -- 项目结构介绍
前言 本系列是基于React Native版本号0.44.3写的,相信大家看了本系列前面两篇文章之后,对于React Native的代码应该能看懂一点点了吧。本篇文章将带着大家来认识一下React Native的项目结构。由于之前的项目被我们改动了很多,因此,这里我们重新创建一个项目。 初始化 React Native 工程 自动创建 iOS/Android 工程和对应的JS文件,index.iOS.js,index.android.js 并且通过npm加载package.json里面的依赖库到node_m
Scott_Mr
2018/05/16
1.3K0
React Native(一):基础
React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的UI框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用。(来自百度百科)
Helloted
2022/06/07
4010
React Native(一):基础
cocoa pods 导入react native  (应用于现有项目中使用rn)
pod 'React', :path => './node_modules/react-native', :subspecs => [
conanma
2021/05/11
8750
React-Native入门指南 终章
在facebook React-native的官网可以看到目前支持的组件如下: https://facebook.github.io/react-native/docs/getting-started.html#content
疯狂的技术宅
2019/03/28
1.5K0
React-Native入门指南 终章
React-Native 入门
React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的UI框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。
conanma
2021/11/02
2.8K0
【Hybrid开发高级系列】ReactNative(六) —— 与现有的应用程序集成(IOS)
        由于React并没有做出关于你其他的技术堆栈的假设——通常在 MVC 中简单的用 V 来表示——这很容易嵌 入到现有non-React Native应用程序中。事实上,它与另外的最佳实践社区工具集成了,如 CocoaPods。
江中散人_Jun
2023/10/16
2950
【Hybrid开发高级系列】ReactNative(六) —— 与现有的应用程序集成(IOS)
RN(0.67)接入现有swift项目及常见问题
3、加载 在合适的地方加载bundle文件测试 比如可以放在appdelegate文件
谦谦君子修罗刀
2022/03/10
1.1K0
RN(0.67)接入现有swift项目及常见问题
原生 Android 集成 React Native
使用 React Native 从零开始开发一款移动应用是一件很惬意的事情,但对于一些已经上线的产品,完全摒弃原有应用的历史沉淀,全面转向 React Native 是不现实的。因此,使用React Native去统一原生Android、iOS应用的技术栈,把它作为已有原生应用的扩展模块,是目前混合开发的最有效方式。
逆锋起笔
2021/04/07
1.3K0
原生 Android 集成 React Native
React Native热更新方案
随着 React Native 的不断发展完善,越来越多的公司选择使用 React Native 替代 iOS/Android 进行部分业务线的开发,也有不少使用 Hybrid 技术的公司转向了 React Native 。虽然React Native在目前来说仍有不少的坑,不过对于以应用开发为主的App来说完全可以胜任。 概述 在iOS应用开发中,由于Apple严格的审核标准和低效率,iOS应用的发版速度极慢,这对于大多数团队来说是不能接受的,所以热更新对于iOS应用来说就显得尤其重要。而就在前不久,苹果
xiangzhihong
2018/02/06
9.5K0
React Native热更新方案
React Native 音频录制例子来解惑入门
前言 本文基于开源Demo:https://github.com/zmxv/react-native-sound,通过这个例子学习怎么开发React Native App. 这段时间都掉到React Native的坑,踩了不少坑,基本也是别人踩过的坑,既然是别人踩过的坑,那么一般情况下都能找到解决方案,所以前期该踩的一些低级坑都踩了,不过这也让笔者对RN有了新的认识,那就是RN有入门门槛,在新项目考虑用它的时候要慎重。 既然要快速掌握RN,那就先从实际需求出发了,我们要用它来做些什么事情,笔者这里有以下需求
巫山老妖
2018/07/20
1.4K0
React-Native iOS打包
--entry-file ,ios或者android入口的js名称,比如index.ios.js --platform ,平台名称(ios或者android) --dev ,设置为false的时候将会对JavaScript代码进行优化处理。 --bundle-output, 生成的jsbundle文件的名称,比如release_ios/main.jsbundle --assets-dest 图片以及其他资源存放的目录,比如release_ios/
憧憬博客
2020/07/21
1.2K0
相关推荐
xcode工程集成 React-native步骤
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文