React Native 之引導(dǎo)頁(yè)與登錄狀態(tài)的切換

作為2018年的第一篇文章,一個(gè)新的開(kāi)始,小編決定用一個(gè)項(xiàng)目來(lái)記錄自己學(xué)習(xí)RN的過(guò)程锉走,廢話不多說(shuō),直接開(kāi)始:
項(xiàng)目鏈接:https://itunes.apple.com/us/app/freightx/id1304817855?l=zh&ls=1&mt=8

一.引導(dǎo)頁(yè)

引導(dǎo)頁(yè)作為一個(gè)app的開(kāi)始藕届,我們這里分兩種介紹:

(一)靜態(tài)圖片

簡(jiǎn)單的引導(dǎo)頁(yè)挪蹭,我采用的react-native-splash-screen第三方框架
鏈接如下:
https://github.com/crazycodeboy/react-native-splash-screen
具體實(shí)現(xiàn)文檔很清楚不贅余。

(二)動(dòng)態(tài)圖片

可以采用react-native-app-intro
鏈接:https://github.com/FuYaoDe/react-native-app-intro

二.登錄狀態(tài)及控制器切換

在app中記錄用戶登錄狀態(tài)也是很常見(jiàn)的功能休偶,這里我用的是AsyncStorage


AsyncStorage.multiSet(
[['accessToken', data.data.accessToken],
['userName', data.data.name]],)
var keys = ["accessToken", "userName",];
//根據(jù)鍵數(shù)組查詢保存的鍵值對(duì)
AsyncStorage.multiGet(keys, function (errs, result) {
//如果發(fā)生錯(cuò)誤梁厉,這里直接返回(return)防止進(jìn)入下面的邏輯
if (errs) {
_that.setState({
isLogin: false,
isLoaded: true
})
return;
}
//得到的結(jié)果是二維數(shù)組(result[i][0]表示我們存儲(chǔ)的鍵,result[i][1]表示我們存儲(chǔ)的值)
// console.log("result===" + result[0][1]);
if (result[0][1] != null) {
_that.setState({
isLogin: true,
isLoaded: true
})
global.userToken = result[0][1]
} else {
_that.setState({
isLogin: false,
isLoaded: true
})
}
if (result[1][1] != null&&result[2][1] != null) {
global.userName = result[1][1];
}

});

但是有個(gè)問(wèn)題AsyncStorage本身是異步讀取椅贱,所以在這里沒(méi)辦法切換控制器懂算,所以要通過(guò)監(jiān)聽(tīng)來(lái)實(shí)現(xiàn)切換

this.msgListener = DeviceEventEmitter.addListener('change', (listenerMsg) => {
this.setState({
isLogin: !this.state.isLogin,
})


});

在登錄和注銷是發(fā)通知來(lái)切換

DeviceEventEmitter.emit('change', '修改');

但是由于AsyncStorage的異步導(dǎo)致加載出現(xiàn)一段白屏,我們通過(guò)加載一個(gè)延遲頁(yè)面

if (!this.state.isLoaded) {
return (
<View style={styles.container1}>
<ActivityIndicator style={styles.indicator}/>
</View>
)
} else {
return (
<View style={styles.container}>
{mainView}
</View>
);
}

到這里基本的登錄與主頁(yè)面的切換以及登錄緩存就實(shí)現(xiàn)了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末庇麦,一起剝皮案震驚了整個(gè)濱河市计技,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌山橄,老刑警劉巖垮媒,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異航棱,居然都是意外死亡睡雇,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門饮醇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)它抱,“玉大人,你說(shuō)我怎么就攤上這事朴艰」坌睿” “怎么了混移?”我有些...
    開(kāi)封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)侮穿。 經(jīng)常有香客問(wèn)我歌径,道長(zhǎng),這世上最難降的妖魔是什么亲茅? 我笑而不...
    開(kāi)封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任回铛,我火速辦了婚禮,結(jié)果婚禮上克锣,老公的妹妹穿的比我還像新娘茵肃。我一直安慰自己,他們只是感情好娶耍,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布免姿。 她就那樣靜靜地躺著,像睡著了一般榕酒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上故俐,一...
    開(kāi)封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天想鹰,我揣著相機(jī)與錄音,去河邊找鬼药版。 笑死辑舷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的槽片。 我是一名探鬼主播何缓,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼还栓!你這毒婦竟也來(lái)了碌廓?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤剩盒,失蹤者是張志新(化名)和其女友劉穎谷婆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體辽聊,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纪挎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了跟匆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片异袄。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖玛臂,靈堂內(nèi)的尸體忽然破棺而出烤蜕,到底是詐尸還是另有隱情埠帕,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布玖绿,位于F島的核電站敛瓷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏斑匪。R本人自食惡果不足惜呐籽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蚀瘸。 院中可真熱鬧狡蝶,春花似錦、人聲如沸贮勃。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)寂嘉。三九已至奏瞬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泉孩,已是汗流浹背硼端。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寓搬,地道東北人珍昨。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像句喷,于是被迫代替她去往敵國(guó)和親镣典。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容