React Native項(xiàng)目實(shí)踐總結(jié)

想想有一段時(shí)間沒更新博客了腿准,其中有工作稍微忙了點(diǎn)的原因,其實(shí)作者找了一個(gè)項(xiàng)目一直在練習(xí)。另一方面作者購(gòu)買了一個(gè)域名并且通過(guò)辛苦努力搭建了一個(gè)自己的小窩肮砾,歡迎各位的光臨哦!(作者的小窩傳送門)袋坑,以后寫的文章將在自己的小窩作為首發(fā)了仗处。

項(xiàng)目背景

本人練習(xí)的項(xiàng)目是一個(gè)通過(guò)豆瓣公共api實(shí)現(xiàn)了電影相關(guān)的一個(gè)APP。主要功能有推薦咒彤、搜索疆柔、登錄、詳情等镶柱,由于是剛學(xué)習(xí)完RN第一個(gè)練習(xí)項(xiàng)目,所以難免有些生疏和技術(shù)的不熟練模叙,哪里有些的不好的地方希望大家可以不吝賜教歇拆。本項(xiàng)目是通過(guò)兩個(gè)階段完成的:第一階段使用RN自帶的控件比如TabBarIOSNavigatorIOSButton故觅、Image等厂庇;第二階段重構(gòu)使用了比較火的一些第三方控件react-native-navigationreact-native-img-cache输吏、react-native-button权旷;第三階段自己實(shí)現(xiàn)了一個(gè)控件FOFSegmentcontrol,可以拷貝到工程里邊直接使用

項(xiàng)目視頻介紹

項(xiàng)目視頻介紹.gif

使用到的技術(shù)

  • ES6 其中主要使用的是箭頭函數(shù)這個(gè)特性贯溅,項(xiàng)目中代碼其實(shí)使用了兩種拄氯,我注釋掉了一種。兩種最大的區(qū)別就是箭頭函數(shù)自動(dòng)綁定this
  • Flex 一種布局方式
  • JavaScript
  • Objective-c

項(xiàng)目詳細(xì)介紹

1它浅、項(xiàng)目初始化
由于使用到了react-native-navigation第三方框架導(dǎo)航译柏,所以APP代碼還有有挺大區(qū)別的。
直接在index.os.js中將所有的代碼注釋掉僅僅使用如下一句即可

import app from './app/App'

1.1姐霍、App.js源碼
App其實(shí)一方面registerScreens()方法注冊(cè)了所有的Component鄙麦,另一方面使用了Navigation.startTabBasedApp啟動(dòng)了整個(gè)App,實(shí)現(xiàn)了UITabBar的效果

import {Platform} from 'react-native';
import {Navigation} from 'react-native-navigation';
import {registerScreens,registerScreenVisibilityListener} from './Screens/index';

import Icons from './Assets/Icon';

// screen related book keeping
registerScreens();
registerScreenVisibilityListener();

const tabs = [{
        label: '推薦',
        screen: 'com.fof.FlyOceanMovies.MovieList',
        icon: {uri:Icons.star,scale:4.6},
        title: '熱門推薦',
    },
    {
        label: '北美票房',
        screen: 'com.fof.FlyOceanMovies.USBoxList',
        icon: {uri:Icons.featured,scale:1.1},
        title: '北美票房',
    },
    {
        label: '搜索',
        screen: 'com.fof.FlyOceanMovies.SearchForm',
        icon: {uri:Icons.search,scale:1.2},
        title: '搜索',
    }
    ];

// this will start our app
Navigation.startTabBasedApp({
    tabs,
    animationType: Platform.OS === 'ios' ? 'slide-down' : 'fade',
    tabsStyle: {
        tabBarBackgroundColor: '#003a66',
        tabBarButtonColor: '#ffffff',
        tabBarSelectedButtonColor: '#ff505c',
        tabFontFamily: 'BioRhyme-Bold',
    },
    appStyle: {
        tabBarBackgroundColor: '#003a66',
        navBarButtonColor: '#ffffff',
        tabBarButtonColor: '#ffffff',
        navBarTextColor: '#ffffff',
        tabBarSelectedButtonColor: '#ff505c',
        navigationBarColor: '#003a66',
        navBarBackgroundColor: '#003a66',
        statusBarColor: '#002b4c',
        tabFontFamily: 'BioRhyme-Bold',
    },
});

2镊折、各個(gè)子頁(yè)面
MovieList:首頁(yè)
USBoxList:北美票房
SearchForm:搜索
MovieDetail:詳情
Login:登錄界面
SearchResult:搜索結(jié)果頁(yè)
Main.js:相當(dāng)于CSS樣式胯府,其實(shí)就是布局

其中MovieList自己實(shí)現(xiàn)了相當(dāng)于iOS的segmentcontrol的效果使用到了ReactNative中的動(dòng)畫。

下圖詳細(xì)概括了RN中動(dòng)畫內(nèi)容恨胚,所謂得此圖得天下骂因。哈哈

React Native 動(dòng)畫.png

還有一些其他的關(guān)注點(diǎn)我都在代碼加了注釋,大家有興趣可以詳細(xì)看一下代碼与纽,由于里邊包括了我兩個(gè)階段的所有代碼侣签,所以大家要耐心看哦。

總結(jié)

學(xué)習(xí)React Native有一段時(shí)間了急迂,寫這個(gè)項(xiàng)目其實(shí)不是很熟練影所,踩了不少坑,寫的也不是非常的快僚碎。但是沒遇到一個(gè)坑都停下來(lái)好好思考復(fù)習(xí)鞏固自己沒掌握的知識(shí)猴娩,讓自己也提升了不少。所以萬(wàn)里之行始于足下勺阐,掌握知識(shí)的最快方法就是行動(dòng)起來(lái)卷中,找個(gè)項(xiàng)目從0開始,完整的寫完一個(gè)項(xiàng)目渊抽。不僅驗(yàn)證了自己所學(xué)的知識(shí)蟆豫,同時(shí)在寫項(xiàng)目中能夠?qū)W到之前沒學(xué)到的知識(shí),也鞏固了自己的新知識(shí)。

項(xiàng)目完整代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末懒闷,一起剝皮案震驚了整個(gè)濱河市十减,隨后出現(xiàn)的幾起案子栈幸,更是在濱河造成了極大的恐慌,老刑警劉巖帮辟,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件速址,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡由驹,警方通過(guò)查閱死者的電腦和手機(jī)芍锚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蔓榄,“玉大人并炮,你說(shuō)我怎么就攤上這事∪笥#” “怎么了渣触?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)壹若。 經(jīng)常有香客問(wèn)我嗅钻,道長(zhǎng),這世上最難降的妖魔是什么店展? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任养篓,我火速辦了婚禮,結(jié)果婚禮上赂蕴,老公的妹妹穿的比我還像新娘柳弄。我一直安慰自己,他們只是感情好概说,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布碧注。 她就那樣靜靜地躺著,像睡著了一般糖赔。 火紅的嫁衣襯著肌膚如雪萍丐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天放典,我揣著相機(jī)與錄音逝变,去河邊找鬼。 笑死奋构,一個(gè)胖子當(dāng)著我的面吹牛壳影,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弥臼,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼宴咧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了径缅?” 一聲冷哼從身側(cè)響起悠汽,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤箱吕,失蹤者是張志新(化名)和其女友劉穎芥驳,沒想到半個(gè)月后柿冲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兆旬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丽猬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脚祟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出由桌,到底是詐尸還是另有隱情为黎,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布行您,位于F島的核電站,受9級(jí)特大地震影響娃循,放射性物質(zhì)發(fā)生泄漏炕檩。R本人自食惡果不足惜捌斧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一笛质、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捞蚂,春花似錦妇押、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)队贱。三九已至,卻和暖如春柱嫌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背编丘。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工彤悔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留索守,地道東北人晕窑。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓卵佛,卻偏偏與公主長(zhǎng)得像杨赤,于是被迫代替她去往敵國(guó)和親截汪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子疾牲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,262評(píng)論 25 707
  • React Native優(yōu)秀博客阳柔,以及優(yōu)秀的Github庫(kù)列表(很多英文資料源自于[awesome-react-n...
    董董董董董董董董董大笨蛋閱讀 10,636評(píng)論 4 162
  • 持續(xù)更新中...... 一套企業(yè)級(jí)的 UI 設(shè)計(jì)語(yǔ)言和 React 實(shí)現(xiàn)蚓峦。 https://mobile.ant....
    日不落000閱讀 5,714評(píng)論 0 35
  • 作者:圓圓 ◢ 夢(mèng)里 疾馳的火車朝我駛來(lái) 我眼睛一亮 高興得跳了起來(lái) 對(duì)身邊的人歡呼 快看,是雪山 疾馳的火車從雪...
    詩(shī)酒館閱讀 158評(píng)論 0 1
  • 焦點(diǎn)講師一期班洛陽(yáng)劉琳?qǐng)?jiān)持分享第七十四天 我們大多數(shù)人一輩子都在假裝干茉,假裝自己沒有什么追求和野心。而在我們...
    小溪與大海閱讀 425評(píng)論 0 0