Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS React Native 混合开发集成React Native

iOS React Native 混合开发集成React Native

作者头像
星宇大前端
发布于 2019-01-15 06:54:24
发布于 2019-01-15 06:54:24
2.1K00
代码可运行
举报
文章被收录于专栏:大宇笔记大宇笔记
运行总次数: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
铁定不纯的IO_Haskell笔记5
一直有个疑惑,Haskell号称纯函数式语言,那么铁定不纯的场景(肯定有副作用,或者操作本身就是副作用)如何解决?
ayqy贾杰
2019/06/12
1.4K0
newtype_Haskell笔记8
在List场景,xs <*> ys表示从左侧xs中取出函数作用于右侧ys中的每一项,有两种实现方式:
ayqy贾杰
2019/06/12
6530
让Monad来得更猛烈些吧_Haskell笔记11
最早接触过IO Monad,后来又了解了Maybe Monad和List Monad,实际上还有很多Monad(比如Writer Monad、Reader Monad、State Monad等),位于mtl package,可以通过ghc-pkg命令来查看:
ayqy贾杰
2019/06/12
1.5K0
基础语法_Haskell笔记1
Haskell是一种纯函数式语言(purely functional programming language),其函数式特性的纯度没有争议
ayqy贾杰
2019/06/12
2K0
《我的第一个面向需求的Haskell程序》续
上一篇《我的第一个面向需求的Haskell程序》文章中的Haskell程序还存在一个问题: 程序只打印出了文件中有没有重复的元素但是并没有告知是哪一个元素重复了,重复了几次也没有打印出来。 所以我继续优化下上篇文章中的Haskell程序,现在这段程序变成了下面这样
Orlion
2024/09/02
1090
Functor与Applicative_Haskell笔记7
常见的Functor类实例似乎都可以比作盒子(或者叫容器),比如Maybe/Either,List([]):
ayqy贾杰
2019/06/12
6080
Functor与Applicative_Haskell笔记7
Monoid_Haskell笔记9
数学世界里,0是加法单位元,1是乘法单位元(identity element),例如:
ayqy贾杰
2019/06/12
8540
深入typeclass_Haskell笔记4
OOP中的Class是对象模板,用来描述现实事物,并封装其内部状态。FP中没有内部状态一说,所以Class在函数式上下文指的就是接口。派生自某类(deriving (SomeTypeclass))是说具有某类定义的行为,相当于OOP中的实现了某个接口,所以具有接口定义的行为
ayqy贾杰
2019/06/12
5230
Haskell 自定义type与typeclass
那么如何解读上面的表达式呢? 首先data关键字后边的BookInfo是新类型的名字,我们称BookInfo为*类型构造器*。类型构造器用于指代(refer)类型。类型名字的首字母必须大写,因此类型构造器的首字母也必须大写。 接下来的Book是*值构造器*(或者称:*数据构造器*)的名字,类型的值就是由值构造器创建的。 Book之后的Int String [String] 是类型的组成部分 在这个例子中,Int表示书ID, String表示书名,[String]表示作者
Orlion
2024/09/02
1200
Monad_Haskell笔记10
从类型来看,Functor到Applicative再到Monad是从一般到特殊的递进过程(Monad是特殊的Applicative,Applicative是特殊的Functor)
ayqy贾杰
2019/06/12
7990
Monadic Function_Haskell笔记12
只是把context换成了Monad而已,此外没什么区别。并且对于遵守Functor laws和Monad laws的类型,这两个函数是完全等价的,例如:
ayqy贾杰
2019/06/12
9540
learn-haskell
引言 Haskell不同于Scala,是一门纯函数式语言,它强制使用者使用函数式语法而没有妥协。 是一门强类型定义的静态类型语言。它的**类型模型基于推断理论(in-ferred)**并被公认为是函数语言中最高效的类型系统之一。你会发现该类型系统支持多态语义并有助于人们作出十分整洁清晰的设计。 支持Erlang风格的模式匹配(pattern matching)和哨兵表达式。你也能在Haskell中发现Clojure风格的惰性求值(lazyevaluation)以及与Clojure和Erlang相同的列表推导
刘笑江
2018/05/28
1.2K0
模块_Haskell笔记2
hiding语法能够缓解命名冲突问题,但不很方便,对于存在大量命名冲突的模块,可以通过qualified保留命名空间来避免冲突
ayqy贾杰
2019/06/12
1.8K0
Haskell爬虫:为电商运营抓取京东优惠券的实战经验
京东作为中国领先的电商平台之一,拥有海量的商品和丰富的优惠券资源。这些优惠券信息对于电商运营者来说具有极高的价值。通过分析竞争对手的优惠券策略,运营者可以更好地制定自己的促销方案,优化营销策略,从而在激烈的市场竞争中脱颖而出。
小白学大数据
2025/03/13
1170
当我们谈论Monad的时候(二)
在上一篇文章中,我通过几个Java的例子简单的说明了Monad的本质和一些工程中常见的用途。接下来的文章就不再侧重于工程了,而是要慢慢向理论转换。而作为过渡,我选择了Haskell来代替Java进行说明。本篇文章默认读者已经对Haskell的基本语法有所了解,因此对此类内容我不会再做赘述。
KAAAsS
2022/01/14
8650
我的第一个面向需求的Haskell程序
上周五(20年8月28日)的时候,公司测试同学需要测试我的一个提测需求,其中有个测试用例是需要检查下下后台导出的兑换口令列表文件中是否有重复的口令。
Orlion
2024/09/02
1190
用 350 行代码从零开始,将 Lisp 编译成 JavaScript
我们将会在本篇文章中看到从零开始实现的编译器,将简单的类 LISP 计算语言编译成 JavaScript。完整的源代码在 这里。
用户8639654
2021/10/25
1.1K0
Haskell爬虫:为电商运营抓取京东优惠券的实战经验
京东作为中国领先的电商平台之一,拥有海量的商品和丰富的优惠券资源。这些优惠券信息对于电商运营者来说具有极高的价值。通过分析竞争对手的优惠券策略,运营者可以更好地制定自己的促销方案,优化营销策略,从而在激烈的市场竞争中脱颖而出。
小白学大数据
2025/03/14
1250
一场函数式思维模式的洗礼
按照习惯的命令式思维,遍历List计数搞定。那么,如何用递归描述List的长度(即提供其递归定义)?
ayqy贾杰
2019/06/12
4600
Python IO编程
IO 在编程语言中特指输入和输出「即 input 和 output」。在 IO 编程中 stream (流)是一个重要的概念,一个完整的 IO 操作通常含有 input 和 output 两个数据流,我们称之为输入流和输出流。
keinYe
2019/08/01
5690
相关推荐
铁定不纯的IO_Haskell笔记5
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验