ReactNative 开发基本项目架构

ReactNative 开发基本项目架构

前置知识点

Navigator

Navigator可以让你在应用的不同场景(页面)间进行切换。
Navigator通过路由对象来分辨不同的场景。
利用renderScene方法,Navigator可以根据指定的路由来渲染场景。
可以通过configureScene属性获取指定路由对象的配置信息,从而改变场景的动画或者手势。

常用方法
  • getCurrentRoutes() - 获取当前栈里的路由,也就是push进来,没有pop掉的那些。
  • jumpBack() - 跳回之前的路由,当然前提是保留现在的,还可以再跳回来,会给你保留原样。
  • jumpForward() - 上一个方法不是调到之前的路由了么,用这个跳回来就好了。
  • jumpTo(route) - 跳转到已有的场景并且不卸载。
  • push(route) - 跳转到新的场景,并且将场景入栈,你可以稍后跳转过去
  • pop() - 跳转回去并且卸载掉当前场景
  • replace(route) - 用一个新的路由替换掉当前场景
  • replaceAtIndex(route, index) - 替换掉指定序列的路由场景
  • replacePrevious(route) - 替换掉之前的场景
  • resetTo(route) - 跳转到新的场景,并且重置整个路由栈
  • immediatelyResetRouteStack(routeStack) - 用新的路由数组来重置路由栈
  • popToRoute(route) - pop到路由指定的场景,在整个路由栈中,处于指定场景之后的场景将会被卸载。
  • popToTop() - pop到栈中的第一个场景,卸载掉所有的其他场景。

Redux

  • 因后面有专门讲 Redux 的, 所以这次的教程不讲Redux 相关的知识,以减少复杂,有利于理解.

项目结构约定

  • 因为 js 并没有包名或着说命名空间, 所以我们以文件夹来作为命名空间的划分
  • 命名空间使用单数单词,或自定义单词来命名,并且是是小写的
  • 命名空间的划分不要按界面流程来划分, 按模块处理的功能来划分
  • src 下命名空间竟然不要超过3层
 |- src 业务 JS 源代码
    |- action | 动作层
    |- reduer | 数据处理层
    |- common | 公共 
    |- component | 组件
    |- constant | 常量 
    |- img | 图片资源
    |- module | 原生支持模块
    |- untils | 工具类
    |- view | 页面
    |- app.js | 项目 js 入口,面对于项目, (有别于 index.*.js,面向于原生调用)
  • 模块名都是使用大写开头的驼峰式命名
  |- common
    |- Immutables.js
    |- Reducers.js
    |- Request.js
    |- Response.js
    |- Toasts.js
  |- components
    |- ActivityIndicator.js
    |- CheckBox.js
  • Component 的 propType, defaultProps 要写class 里面

(未完待续)

进一步学习的资源

转载于:https://my.oschina.net/vistier/blog/834399

目录 章节1:基本原理与开发环境搭建 课时1React Native架构和原理的简单介绍15:52 课时2macOS iOS环境搭建18:38 课时3ios模拟器的使用和注意事项05:20 课时4macOS Android环境搭建16:27 课时5Windows Android环境搭建09:43 课时6Android设备的使用和注意事项07:05 课时7开发工具选用Webstorm08:51 章节2:JavaScript、Node、ES6基础 课时8Javascript基础11:58 课时9ES6基础11:16 课时10Node基础14:40 章节3:React基础一 课时11React JSX基础12:22 课时12初识React组件化开发42:38 章节4:React基础二 课时13组件的生命周期23:43 课时14组件间通信30:20 章节5:实战之前的准备 课时15官方组件和文档一览14:31 课时16项目基本结构22:02 课时17如何规范项目代码17:32 章节6:试写电影列表 课时18基本样式和布局26:09 课时19Flexbox和多列布局24:16 课时20FlatList的基本用法13:14 课时21评分星星21:13 章节7:获取网络数据 课时22获取网络数据43:05 课时23刷新和分页的补充10:08 章节8:使用react-navigation跳转页面 课时24StackNavigator(页面跳转)24:59 课时25TabNavigator(选项卡切换)12:31 课时26针对安卓的界面调整05:20 章节9:电影详情页 课时27本地缓存数据26:17 课时28悬浮层与绝对定位19:26 课时29使用Linking调用播放视频14:29 章节10:打包发布 课时30Android打包发布09:13 课时31iOS真机调试和打包发布10:22 章节11:课程源码(见参考资料) 课时32课程源码(见参考资料)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值