我正在爲我希望是一個簡單問題而苦苦掙扎。我有多個StackNavigators,每個都有不同的屏幕,除了.navigate,我還使用Drawer在主棧之間移動。就像這樣:goBack()到使用React導航的上一個/不同堆棧
- 主堆棧
- 主屏幕(項)
- 會員資料
- 收件箱堆疊
- 收件箱界面
- 消息詳細信息屏幕
在消息詳情屏幕上,用戶可以導航到配置文件。所以消息詳情>個人資料。這很好,就像它在整個應用程序中一樣。在同一個堆棧中的導航在向前和向後都很有效。我正在使用標準的導航進行前進。
this.props.navigation.navigate('MemberProfilePage')
但是,如果我點擊後退按鈕 - 或設置自定義後退按鈕 - 用戶將一路返回到主屏幕。如果我點擊抽屜中的收件箱,屏幕仍然會顯示在消息詳細信息中。
但我真的只想去:消息詳細信息>配置文件...配置文件goBack()到消息詳細信息。
我嘗試了默認的GoBack(),我試過派遣這樣的回動作:
const backAction = NavigationActions.back({
key: 'ProfileScreen'
})
或
const backAction = NavigationActions.back({
key: null
})
感謝您的任何方向。
編輯:有關在抽屜中設置backButton的初始建議似乎可行。但它不能解決問題。
我不想被帶回當前堆棧的初始屏幕。我想回到我從不同的Stack中導航的屏幕。
您的應用程序層次結構可能存在問題。也許最好有1個Stack而不是2個,只需從任何你需要的屏幕導航到你需要的任何屏幕,並通過'後退'按鈕獲得你需要的任何屏幕。 – Eduard
順便說一下,這種行爲是React-Navigation方面的一個錯誤。從4月......(或類似的事情)開始,他們一直在努力。 – Eduard