环境搭建
配置环境
http://reactnative.cn/docs/0.41/getting-started.html
安装webStorm
下载地址
https://confluence.jetbrains.com/display/WI/Previous+WebStorm+Releases
License server 激活地址
http://idea.imsxm.com/
中文包
http://download.csdn.net/download/shan1774965666/9686622
ReactNative LiveTemplate(插件)
https://github.com/virtoolswebplayer/ReactNative-LiveTemplate
或者使用集成环境(你会喜欢的)
Deco IDE
第一个hello world
react-native init helloWorld
cd helloWorld
react-native run-ios
了解目录结构
项目初始化
//package.json所在的目录
npm i
更新项目
//安装react-native-git-upgrade 模块
$ npm install -g react-native-git-upgrade
//package.json所在的目录
$ react-native-git-upgrade <版本号,可选>
启动项目
react-native run-ios
打包
//在React Native项目的根目录下执行
mkdir release_ios
react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output release_ios/main.jsbundle --assets-dest release_ios/
release_ios文件夹中,assets为项目中的JS部分所用到的图片资源(不包括原生模块中的图片资源),main.jsbundle是JS部分的代码。
//将assets文件夹与main.jsbundle添加到project中
//修改AppDelegate.m文件
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
按照Xcode正常流程打包即可。
Flex布局
网络请求
UI控件
使用三方库
UI
react-native-vector-icons ★2281:用于 React Native的可定制的图标资源库,支持 NavBar/TabBar, image source 以及样式。
Navigation
react-native-router-flux:一款很火的导航组件。
react-native-navbar:一款用于React Native上的可定制的导航条。
react-native-tab-navigator:一款兼容Android、iOS的TabBar组件。
react-native-drawer-layout:抽屉组件。
react-native-drawer:另一款抽屉组件。
ViewPager
react-native-swiper:一款轮番滑动的组件。
react-native-looped-carousel:滚动轮播组件。
ListView&ScrollView
react-native-refreshable-listview:下拉刷新组件。
react-native-swipe-list-view:滑动删除组件。
react-native-swipeout:iOS样式的划动删除组件。
react-native-sortable-listview:拖拽排序组件。
react-native-draggablelist:拖排序组件。
react-native-SortableList:拖拽排序组件。
Text&Rich Content
react-native-htmlview:HTML显示组件,渲染HTML text 。
弹框
react-native-easy-toast:一款用于React Native上消息提示弹框组件,使用方便,支持定义Toast,支持iOS,Android。
react-native-modal:模态框,作者已经将该组件添加到React Native,所以开发者可以直接使用Modal;
react-native-popover:一款类似Android popupwindow的弹出框组件。
Material Design
mrn:Material Design组件库。
react-native-material-design:一款用于React Native上的材料设计UI组件库。
TabLayout
react-native-scrollable-tab-view:一款用于React Native上TabLayout组件。
框架
NativeBase:一款融合了ES6用于在React Native上创建创建高质量的Android&iOS APP的框架。
tcomb-form-native:强大的表单处理控件,支持 JSON 模式,可插拔的外观和感觉。
库
react-native-launch-image:用在React Native上手动关闭iOS启动界面(Launch Screen)的工具。详细说明
RNShareSDK:一款基于原生平台ShareSDK的ReactNative插件,方便RN开发者集成各大社交平台的分享和授权功能。