React Native 学习第四天

1.React Native中状态设置StatusBar

<StatusBar
    animated={true} //指定状态栏的变化是否应以动画形式呈现,目前支持:backgroundColor,barStyle和hidden
    hidden={false}  //是否隐藏状态栏
    backgroundColor={'green'}   //状态栏的背景颜色
    translucent={true}          //指定状态栏是否透明,设置为true时,应用会在状态栏之下绘制(即使所谓‘沉浸                                式’--被状态遮住一部分)。常和带有半透明背景色的状态栏搭配使用。
    barStyle={'light-content'}  //enum('default','light-content','dark-content')
/>

StatusBar.currentHeight  : android手机状态的高度

2.定时器

setTimeout()
    触发后,延迟调用一次函数
    this.timer = setTimeout(()=>{
        console.log('只调用一次哦!');
    },500);
setInterval()
    触发后,每隔一段时间函数
    this.timer_interval = setInterval(()=>{
        console.log('每隔500毫秒调用一次!');
    },500);
setImmediate()
    当前JavaScript执行块结束的时候执行,就在将要发送批量响应数据到原生之前。注意如果你在setImmediate的回调
    函数中又执行了setImmediate,它会紧接着立刻执行,而不会在调用之前等待原生代码
    this.time_diate = setImmediate(()=>{
        console.log('调用setImmediate方法');
        this.setState({
            w: this.state.w + 15, h: this.state.h + 15,
    },100);

3.打包

1.把***.keystore文件放到你工程中的android/app文件夹下
2.项目目录/android/gradle.properties(项目配    置,只对所在项目有效)。如果没有gradle.properties
    文件你就自 己创建一个,添加如下的代码:
    MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
    MYAPP_RELEASE_KEY_ALIAS=my-key-alias
    MYAPP_RELEASE_STORE_PASSWORD=*****
    MYAPP_RELEASE_KEY_PASSWORD=*****
3.目录下的android/app/build.gradle,添加如下的签名配置:
    ...
    android {
        ...
        signingConfigs{
            release {
                if(project.hasProperty('MYAPP_RELEASE_STORE_FILE')){
                    storeFile file(MYAPP_RELEASE_STORE_FILE)
                    storePassword MYAPP_RELEASE_STORE_PASSWORD
                    keyAlias MYAPP_RELEASE_STORE_ALIAS
                    keyPassword MYAPP_RELEASE_KEY_PASSWORD
                }
            }
        }
        buildTypes {
            release {
                ...
                signingConfig signingConfig.release
            }
        }
        ...
    }
4.根目录终端中运行以下的命令:
    $ cd android
    $ gradlew assembleRelease           //windows下CMD
    $ ./gradlew assembleRelease         //macOS
5.生成的APK文件位于android/app/build/outputs/apk/app-release.apk

4.MobX

安装mobx:
npm i mobx mobx-react --save
安装mobx相关的包
npm i babel-plugin-transform-decorators-legacy babel-preset-react-native-stage-0 --save-dev
安装一些 babel 插件,以支持 ES7 的 decorator 特性(后面有不用的方法, ES6)

然后打开 .babelrc 文件配置 babel 插件:

{
"presets": ["react-native"],
"plugins": [
"syntax-decorators",
"transform-decorators-legacy" ]
}

Mobx是一款十分优秀的状态管理库,不但书写简洁还非常高效,相比较成熟的老大哥redux,mobx较新,所以论成熟度、扩展
性等不如redux,但是mobx基于运行时始终保持最小的数据依赖,所以效率非常高,而且对列表的支持非常好,使起来代码也很少。
*mobx常用的标签:
    @observable:使用此标签监控要检测的数据;
    @observer:使用此标签当数据变化时要更新的Component(组件类);
    @action:使用此标签监控数据改变的自定义方法(当在需要数据改变的时候执行此方法,那么View层也会跟着自动变
            化,默认此View层已经使@Observer标签监控)
image

image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容

  • 上一篇搭建好了开发环境后,便迫不及待的想来尝试下React Native了,这篇就来记录下一款APP的开发步骤吧,...
    斑驳的天空阅读 414评论 0 1
  • 我在你书的第57页夹了一张车票, 如果他不爱你, 你就坐最早的这班火车回来。
    淮间阅读 279评论 0 0
  • 建议阅读时间5分20秒。 书籍:醒来觉得甚是爱你 作者:朱生豪 出版时间:2006年8月 标签:爱情 民国 情书 ...
    再来点盐阅读 1,395评论 0 1
  • 计划过很多次,终于开始了6.824的征程;希望一鼓作气! 一: MapReduce逻辑 二: 实验任务 完成用户端...
    梦工厂阅读 1,457评论 0 1
  • 一枚粽叶的离合(外一首) 很难想像,一枚粽叶 飘香了二千多年, 不糜不败, 仍如传说中一样光鲜。 不过江边随风的芦...
    不语不问阅读 134评论 0 2