StackNavigator

StackNavigator

為你的應(yīng)用程序提供一種在兩屏幕之間切換的方法瘦麸,每一個新的屏幕都會放在棧的頂部鸽扁。

默認(rèn)情況下蒜绽,StackNavigator配置為具有熟悉的iOS和Android外觀:iOS上的新屏幕從右側(cè)滑出,從Android的底部漸入桶现。在iOS上躲雅,StackNavigator也可以配置為modal樣式,屏幕從底部滑入


例如:

class MyHomeScreen extends React.Component {
  static navigationOptions = {
    title: 'Home',
  }

  render() {
    return (
      <Button
        onPress={() => this.props.navigation.navigate('Profile', {name: 'Lucy'})}
        title="Go to Lucy's profile"
      />
    );
  }
}

const ModalStack = StackNavigator({
  Home: {
    screen: MyHomeScreen,
  },
  Profile: {
    path: 'people/:name',
    screen: MyProfileScreen,
  },
});

API

StackNavigator(RouteConfigs, StackNavigatorConfig)

RouteConfigs

路由配置和路由名稱的一種映射骡和,告訴navigator按照該路由要呈現(xiàn)什么

StackNavigator({
  //Home界面route
  Home:{
    //require  Homescreen就是一個react的組件(component)相赁,用來展示的那個界面
    screen:HomeScreen,//當(dāng)HomeScreen加載完成后,他會得到一個navigation屬性
    //optional   當(dāng)深層次關(guān)聯(lián)或者在web app中使用React Navigation,使用路徑
    path:'people/:username',
    //optional Override navigationOptions方法慰于,對navigator做一些配置
    navigationOptions:{
      //設(shè)置個標(biāo)題
      title:({state}) => `${state.params.username}'s Profile'`
    },
  },

  //我的其他路由钮科,類似于上面這種定義模式的,供給navigator實現(xiàn)頁面見得跳轉(zhuǎn)
  ...MyOtherRoutes,
)}

StackNavigatorConfig

option for the route(路由選項):
  initialRouteName:為stack設(shè)置默認(rèn)的界面婆赠,必須和route configs里面的一個key匹配绵脯。
  initialRouteParams: 初始路由的參數(shù)。
  navigationOptions:屏幕導(dǎo)航的默認(rèn)選項休里。
  paths: routeconfig里面路徑設(shè)置的映射蛆挫。

Visual Option(視覺選項):
  mode: 定義渲染(rendering)和轉(zhuǎn)換(transitions)的模式,兩種選項(給字符串即可):
     card:使用標(biāo)準(zhǔn)的iOS和Android的界面切換,這是默認(rèn)的份帐。
     modal:僅在iOS端有用璃吧,即模態(tài)出該視圖。
  headerMode: 指定header應(yīng)該如何被渲染,選項:
     float: 共用一個header 意思就是有title文字漸變效果废境。ios常見模式
     screen: 各用各的header 意思就是沒有title文字漸變效果畜挨。Android常見模式
     none:  沒有header筒繁。
  cardStyle: 使用該屬性繼承或者重載一個在stack中的card的樣式。
  onTransitionStart: 一個函數(shù)巴元,在換場動畫開始的時候被激活毡咏。
  onTransitionEnd: 一個函數(shù),在換場動畫結(jié)束的時候被激活

Screen Navigation Options

通常你可以定義一個靜態(tài)的navigationOptions在你的組件之上

title:string 可用作headerTitle逮刨、tabBarLabel
header:React element或一個給出HeaderProps參數(shù)呕缭、返回React element的函數(shù),null則隱藏Header
headerTitle:string或者React element修己,默認(rèn)是title的值恢总,
headerBackTitle:iOS上的后退按鈕使用的標(biāo)題字符串,或禁用標(biāo)簽睬愤,默認(rèn)為上一個scene的headerTtile
headerTruncatedBackTitle:當(dāng)headerBackTtile不適應(yīng)screen是使用片仿,默認(rèn)為'Back',
headerRight:React element,顯示在header右側(cè),
headerLeft:React element尤辱,顯示在header左側(cè)砂豌,
headerStyle:header的樣式,
headerTitleStyle:headerTitle的樣式光督,
headerBackTitleStyle:headerBackTitle的樣式阳距,
headerTintColor:android上的返回icon可用此設(shè)置,
headerPressColorAndroid:material波紋顏色 Android>=5.0有效结借,
gesturesEnabled:是否可以使用手勢關(guān)閉此屏幕筐摘。在iOS上默認(rèn)為true,在Android上為false,

Navigator Props

通過StackNavigator()創(chuàng)建的導(dǎo)航組件可帶有screenProps屬性
例如:

const SomeStack = StackNavigator({
  // config
});

<SomeStack
  screenProps={/* this prop will get passed to the screen components as this.props.screenProps */}
/>
Ex
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末船老,一起剝皮案震驚了整個濱河市蓄拣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌努隙,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辜昵,死亡現(xiàn)場離奇詭異荸镊,居然都是意外死亡堪置,警方通過查閱死者的電腦和手機躬存,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舀锨,“玉大人岭洲,你說我怎么就攤上這事】材洌” “怎么了盾剩?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵雷激,是天一觀的道長。 經(jīng)常有香客問我告私,道長屎暇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任驻粟,我火速辦了婚禮根悼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蜀撑。我一直安慰自己挤巡,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布酷麦。 她就那樣靜靜地躺著矿卑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贴铜。 梳的紋絲不亂的頭發(fā)上粪摘,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音绍坝,去河邊找鬼徘意。 笑死,一個胖子當(dāng)著我的面吹牛轩褐,可吹牛的內(nèi)容都是我干的椎咧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼把介,長吁一口氣:“原來是場噩夢啊……” “哼勤讽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拗踢,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤脚牍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后巢墅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诸狭,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年君纫,在試婚紗的時候發(fā)現(xiàn)自己被綠了驯遇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蓄髓,死狀恐怖叉庐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情会喝,我是刑警寧澤陡叠,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布玩郊,位于F島的核電站,受9級特大地震影響匾竿,放射性物質(zhì)發(fā)生泄漏瓦宜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一岭妖、第九天 我趴在偏房一處隱蔽的房頂上張望临庇。 院中可真熱鬧,春花似錦昵慌、人聲如沸假夺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽已卷。三九已至,卻和暖如春淳蔼,著一層夾襖步出監(jiān)牢的瞬間侧蘸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工鹉梨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留讳癌,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓存皂,卻偏偏與公主長得像晌坤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子旦袋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

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