关于react-native

前端之家收集整理的这篇文章主要介绍了关于react-native前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

是自己的理解,可能理解的还不够通透,仅供自己参考使用。

React Native集成到已有项目中以及 代码发布

这里只记录主要的步骤:

1.生成react-native文件,按照官网上一步一步来

2.将react-native项目先放在和自己原生项目同一级目录下。然后利用cocopods进行引用。

podfile文件里写下如下代码pod 'React',:path => '../zm_react_native(替换成自己的react native名字)/node_modules/react-native',:subspecs => ['Core',

'RCTText',

'RCTNetwork',

'RCTWebSocket',# needed for debugging

# Add any other subspecs you want to use in your project

]

pod 'CodePush',:path => '../zm_react_native/node_modules/react-native-code-push',:subspecs => ['Core']

//注意,我这里之所以这样写,是因为项目里已经有了一个SSZipArchive第三方。如果没有这个第三方使用:pod 'CodePush',:path => '../node_modules/react-native-code-push'

后执行pod install 或者pod update

3.接下来就是使用了-初始化控件

#ifdef DEBUG

NSURL *jsCodeLocation = [NSURL

URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios"];

这里是你在调试模式下的时候使用。使用之前先要在react-native目录下执行nam start (意思是启动react native serive)

#else

NSURL * jsCodeLocation = [CodePush bundleURL];

这是使用codePush提供的bundleURL。前提是你本地已经有了js包。

当然要利用codePush进行代码push,首先要先利用终端,进行code-push命令注册添加应用,它会返回给你两个key,一个是开发时候使用的key(Staging),一个是发布时候用的key(Production)。这个key需要注册到项目的info里面:添加CodePushDeploymentKey字段,后面的value是string类型,填写key。

注意的是:需要先在react native目录下,终端执行:react-nativebundle--entry-fileindex.ios.js--platformios--devfalse--bundle-output./ios_output/main.jsbundle--assets-dest./ios_output ,然后把这个ios_output下的文件,引用到我们的原生项目里。因为我们的项目是使用本地的js包。当codePush服务器上有新的js包的时候,会去拉取到本地再使用。(当然,我们需要在index.ios.js里面写上codePush.sync()同步的方法,不然我们怎么去触发拉取最新的js包)

#endif


RCTRootView *rootView =

[[RCTRootView alloc] initWithBundleURL : jsCodeLocation

moduleName : @"LotsOfGreetings"

// 这个LotsOfGreetings可以理解为约定好的模块类型,在reactnative目录下的index.ios.js里面,需要注册这个模块

initialProperties :nil

launchOptions : nil];

猜你在找的React相关文章