标签:undle .json iap web initial one 项目 创建 显示
本系列是基于React Native
版本号0.44.3
写的,相信大家看了本系列前面两篇文章之后,对于React Native
的代码应该能看懂一点点了吧。本篇文章将带着大家来认识一下React Native
的项目结构。由于之前的项目被我们改动了很多,因此,这里我们重新创建一个项目。
JS
文件,index.iOS.js
,index.android.js
npm
加载package.json
里面的依赖库到node_modules
文件夹中终端执行以下命令行:
react-native init RNDemoOne --version 0.44.3
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
// 获取js文件url
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
// 加载控件
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"RNDemoOne" initialProperties:nil launchOptions:launchOptions];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
// 创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
// 设置窗口根控制器
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
// 显示主窗口
[self.window makeKeyAndVisible];
return YES;
}
(initWithBundleURL: moduleName: initialProperties: launchOptions:)
中的moduleName
不能随便写,必须跟js
中注册的模块名字一致。我是使用的webStorm
,webStorm代码提示
iOS程序一启动,就会去加载这个文件,去创建组件,并且把加载完的组件显示到界面
JSX
,所以需要加载React
模块;需要用到里面Component
组件,所以需要加载Component
。AppRegistry
,StyleSheet
,Text
,View
原生组件,它们都在react-native
文件夹里面。我们已经创建过两个React Native
(简称RN
)项目了,可能大部分同学看RN
代码感到头疼的事情是,不知道什么时候使用{}
,什么时候使用()
。因此,我在这里为大家做个简单的总结,如果发现有不对的地方,欢迎纠正。
RN
中,使用表达式的时候用{}
包住
style={styles.container}
RN
中,在字符串中使用变量的时候用{}
包住
var str = "scott"
<Text>{str}</Text>
RN
中,对象,字典需要用{}
包住
<View style={{flex:1}}></View>
{flex:1}
是一个字典RN
中,创建组件必须要用()
包住,因此在返回组件的时候,需要用()
render(){
return (
<View style=styles.container>
</View>
)
}
如果发现有错误的地方,欢迎各位指出,谢谢!
标签:undle .json iap web initial one 项目 创建 显示
原文地址:http://www.cnblogs.com/yujihaia/p/7425868.html