跳轉至主要內容
版本:6.x

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());