W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在你的應(yīng)用程序中使用 Navigator
來(lái)在不同場(chǎng)景之間過(guò)渡。為了實(shí)現(xiàn)這一功能,為導(dǎo)航器提供了路由對(duì)象來(lái)識(shí)別每一個(gè)場(chǎng)景,還提供了一個(gè) renderScene
函數(shù),導(dǎo)航器可以用它來(lái)為給定的路線渲染場(chǎng)景。
為了改變場(chǎng)景的動(dòng)畫(huà)或動(dòng)作屬性,提供了一個(gè) configureScene
道具來(lái)為給定的路由配置對(duì)象??吹綄?dǎo)航器。默認(rèn)動(dòng)畫(huà)及更多的關(guān)于場(chǎng)景配置選項(xiàng)的信息,請(qǐng)看 Navigator.SceneConfigs
。
<Navigator initialRoute={{name: 'My First Scene', index: 0}} renderScene={(route, navigator) => <MySceneComponent name={route.name} onForward={() => { var nextIndex = route.index + 1; navigator.push({ name: 'Scene ' + nextIndex, index: nextIndex, }); }} onBack={() => { if (route.index > 0) { navigator.pop(); } }} /> } />
Navigator
有兩種方式進(jìn)行導(dǎo)航。如果你有一個(gè)參考元素,你可以調(diào)用一些方法來(lái)觸發(fā)導(dǎo)航:
jumpBack()
——在不需要卸載當(dāng)前場(chǎng)景的情況下向后跳
jumpForward()
——向前跳轉(zhuǎn)到路線堆棧中的下一個(gè)場(chǎng)景 -jumpTo(route)
——過(guò)渡到一個(gè)現(xiàn)有的沒(méi)有被卸載的場(chǎng)景
push(route)
——導(dǎo)航到一個(gè)新的場(chǎng)景,擠壓任何你能夠 jumpForward
的場(chǎng)景 -pop()
——回歸并卸載當(dāng)前場(chǎng)景 -replace(route)
——用一個(gè)新路線替換當(dāng)前場(chǎng)景
`replaceAtIndex(route,index)——取代一個(gè)由索引指定的場(chǎng)景
replacePrevious(route)
——取代之前的場(chǎng)景
immediatelyResetRouteStack(routeStack)
——用一組路線重置每個(gè)場(chǎng)景
popToRoute(route)
——彈出一個(gè)由它的路線指定的特定的場(chǎng)景。這之后所有的場(chǎng)景將被卸載
popToTop()
——彈出堆棧中的第一個(gè)場(chǎng)景,卸載其他場(chǎng)景
通過(guò) renderScene
函數(shù) navigator 對(duì)象對(duì)場(chǎng)景是可用的。對(duì)象有所有的導(dǎo)航方法,以及一些實(shí)用程序:
parentNavigator
——父導(dǎo)航對(duì)象的參考,在 props.navigator 中被傳遞
onWillFocus
——用來(lái)向父導(dǎo)航器傳遞一個(gè)導(dǎo)航焦點(diǎn)事件
onDidFocus
——用來(lái)向父導(dǎo)航器傳遞一個(gè)導(dǎo)航焦點(diǎn)事件
configureScene 函數(shù)型
可選功能,允許配置場(chǎng)景動(dòng)畫(huà)和手勢(shì)。將由路線調(diào)用,且應(yīng)該返回一個(gè)場(chǎng)景配置對(duì)象
(route) => Navigator.SceneConfigs.FloatFromRight
initialRoute 對(duì)象型
提供一個(gè)單一的“路線”來(lái)開(kāi)始。路線是一個(gè)任意的對(duì)象,導(dǎo)航器將使用它在場(chǎng)景呈現(xiàn)之前確定每個(gè)場(chǎng)景。initialRoute 或 initialRouteStack 是必需的。
initialRouteStack [對(duì)象型]
提供一組路線來(lái)呈現(xiàn)最初的場(chǎng)景。如果沒(méi)有提供 initialRoute,那么該道具就會(huì)被需求。
navigationBar 節(jié)點(diǎn)型
以可選的方式提供一個(gè)能夠存留在場(chǎng)景之間轉(zhuǎn)換的導(dǎo)航欄
navigator 對(duì)象型
以可選的方式從父導(dǎo)航器提供 navigator 對(duì)象
onDidFocus 函數(shù)型
在場(chǎng)景過(guò)渡完成后或在最初安裝后該函數(shù)會(huì)被每個(gè)場(chǎng)景的新路線調(diào)用。這將覆蓋在 this.props.navigator 的onDidFocus處理程序上。
onItemRef 函數(shù)型
當(dāng)場(chǎng)景參考發(fā)生變化時(shí),該函數(shù)會(huì)被調(diào)用 (ref,indexInStack)
onWillFocus 函數(shù)型
將在安裝中和每個(gè)導(dǎo)航轉(zhuǎn)換之前發(fā)射目標(biāo)路線,覆蓋this.props.navigator中的處理程序。這將覆蓋this.props.navigator 中的 onDidFocus 處理程序
renderScene 函數(shù)型
對(duì)于一個(gè)給定的路線哪一個(gè)場(chǎng)景會(huì)出現(xiàn)需要該函數(shù)。將由路線和 navigator 對(duì)象調(diào)用。
(route, navigator) => <MySceneComponent title={route.title} />
sceneStyle View#style
設(shè)置樣式,以應(yīng)用于每個(gè)場(chǎng)景的容器中。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: