屬性
configureScene function 方法,該為可選的方法進(jìn)行配置頁面切換動畫和手勢瘩欺。該會通過路由和路由棧兩個參數(shù)調(diào)用必盖,進(jìn)行返回一個頁面參數(shù)配置對象:(route, routeStack) => Navigator.SceneConfigs.FloatFromRight
initialRoute object 參數(shù)對象 進(jìn)行設(shè)置導(dǎo)航初始化的路由頁面。路由是標(biāo)識導(dǎo)航器渲染標(biāo)識每一個頁面的對象俱饿。initialRoute必須為initialRouteStack中的路 由歌粥。同時initialRoute默認(rèn)為initialRouteStack中路由棧的最后一項
initialRouteStack [object] 參數(shù)對象數(shù)組 該是一個初始化的路由數(shù)組進(jìn)行初始化。如果initalRoute屬性沒有設(shè)置的話拍埠,那么就必須設(shè)置initialRouteStack屬性失驶,使用該最后 一項作為初始路由。 如果initalRouteStack屬性沒有設(shè)置的話枣购,該會生成只包含initalRoute值的數(shù)組
navigationBar node 該為可選的參數(shù)嬉探,在頁面切換中用來提供一個導(dǎo)航欄
navigator object 該為可選參數(shù),可以從父類導(dǎo)航器中獲取導(dǎo)航器對象
onDidFoucs function 該方法已經(jīng)廢棄棉圈,我們可以使用navigationContext.addListener('didfocus',callback)方法進(jìn)行替代涩堤。該 會在每次頁面切換完成或者初始化之后進(jìn)行調(diào)用該方法。該參數(shù)為新頁面的路由
onWillFocus function 該方法已經(jīng)廢棄分瘾,我們可以使用navigationContext.addListener('willfocus',callback)方法進(jìn)行替代胎围。該會頁面每次進(jìn)行切換之前調(diào)用
renderScene function 該為必須調(diào)用的方法,該用來渲染每一個路由指定的頁面。參數(shù)為路由以及導(dǎo)航器對象兩個參數(shù)白魂,具體是方法如下:(route, navigator) =><MySceneComponent title={route.title} navigator={navigator} />
sceneStyle 樣式風(fēng)格汽纤,該繼承了View視圖的所有樣式風(fēng)格”檀希可以參照:點擊查看View樣式冒版。 該設(shè)置用于每個頁面容器的風(fēng)格液茎。
.getCurrentRoutes() - 獲取當(dāng)前棧里的路由逞姿,也就是push進(jìn)來,沒有pop掉的那些捆等。
.jumpBack() - 跳回之前的路由滞造,當(dāng)然前提是保留現(xiàn)在的,還可以再跳回來栋烤,會給你保留原樣谒养。
.jumpForward() - 上一個方法不是調(diào)到之前的路由了么,用這個跳回來就好了明郭。
.jumpTo(route) - 跳轉(zhuǎn)到已有的場景并且不卸載买窟。
.push(route) - 跳轉(zhuǎn)到新的場景,并且將場景入棧薯定,你可以稍后跳轉(zhuǎn)過去
.pop() - 跳轉(zhuǎn)回去并且卸載掉當(dāng)前場景
.replace(route) - 用一個新的路由替換掉當(dāng)前場景
.replaceAtIndex(route, index) - 替換掉指定序列的路由場景
.replacePrevious(route) - 替換掉之前的場景
.resetTo(route) - 跳轉(zhuǎn)到新的場景始绍,并且重置整個路由棧
.immediatelyResetRouteStack(routeStack) - 用新的路由數(shù)組來重置路由棧
.popToRoute(route) - pop到路由指定的場景,在整個路由棧中话侄,處于指定場景之后的場景將會被卸載亏推。
popToTop() - pop到棧中的第一個場景,卸載掉所有的其他場景年堆。
<pre>
<code>
<
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();
}
}}
/>
}
/>
</code>
</pre>