StackActions 參考
StackActions
是包含產生特定於堆疊式導覽器的動作方法的物件。其方法擴充了 CommonActions
中可用的動作。
支援以下動作
取代
取代
動作可取代 導覽狀態 中的路徑。它需要以下引數
名稱
- 字串 - 已在某處註冊的路徑的目的地名稱。參數
- 物件 - 傳遞至目的地路徑的參數。
import { StackActions } from '@react-navigation/native';
navigation.dispatch(
StackActions.replace('Profile', {
user: 'jane',
})
);
倘若要取代特定路徑,可以新增屬性 來源
,參照路徑金鑰,以及屬性 目標
,參照導覽狀態金鑰
import { StackActions } from '@react-navigation/native';
navigation.dispatch({
...StackActions.replace('Profile', {
user: 'jane',
}),
source: route.key,
target: navigation.getState().key,
});
倘若 來源
屬性明確設定為 未定義
,它將取代焦點路徑。
推送
推送
動作會在堆疊上新增一路徑,並向前導覽至該路徑。這跟 導覽
的不同點在於,倘若已存在具有設定名稱的路徑,導覽
會回彈到堆疊中較早的位置。推送
將始終新增至頂端,這樣一來,一個路徑便能存在好幾次。
名稱
- 字串 - 推送至堆疊的路徑名稱。參數
- 物件 - 傳遞至目的地路徑的螢幕參數。
import { StackActions } from '@react-navigation/native';
const pushAction = StackActions.push('Profile', { user: 'Wojtek' });
navigation.dispatch(pushAction);
pop
pop
動作會將您帶回堆疊中的前一個畫面。它需要一個選用引數 (計數
),讓您可以指定要返回多少個畫面。
import { StackActions } from '@react-navigation/native';
const popAction = StackActions.pop(1);
navigation.dispatch(popAction);
popToTop
popToTop
動作會將您帶回堆疊中的第一個畫面,並關閉所有其他畫面。這在功能上與 StackActions.pop({n: currentIndex})
相同。
import { StackActions } from '@react-navigation/native';
navigation.dispatch(StackActions.popToTop());