2017-10-14 89 views
1

我正在努力與我希望是一個簡單的問題。我有多個StackNavigators與各種屏幕。 像這樣:反應導航goBack()到定義的屏幕

主堆棧
主屏幕(項)

聊天堆棧
聊天列表
聊天詳細信息屏幕
添加成員列出
邀請好友聊天

在聊天列表上,用戶可以導航到邀請朋友進入聊天屏幕。所以聊天列表屏幕>邀請朋友聊天屏幕。這很好,就像它在整個應用程序中一樣。

導航在同一個堆棧中工作都很好。我正在使用標準的導航進行前進。

this.props.navigation.navigate(「邀請好友聊天」)

這裏成功後邀請朋友要前往的聊天列表屏幕。

在這裏,我想從堆棧中刪除活動的屏幕,而導航到新屏幕

鏈接引薦React-Navigation

例如

Going back from a specific screen 
Consider the following navigation stack history: 
navigation.navigate(SCREEN_KEY_A); 
... 
navigation.navigate(SCREEN_KEY_B); 
... 
navigation.navigate(SCREEN_KEY_C); 
... 
navigation.navigate(SCREEN_KEY_D); 
Now you are on screen D and want to go back to screen A (popping D, C, and B). Then you need to supply a key to goBack FROM: 
navigation.goBack(SCREEN_KEY_B) // will go to screen A FROM screen B 

回答

1

你的問題是不完全清楚,我,但它聽起來像你想這種行爲......

A > B > C > D > goBack() => A 

將如下面的是真的?

A > B > C > goBack() => A 
A > B > goBack() => A 
A > goBack() => A 

如果是這樣的話,而不是navigation.navigate()其推新的場景到導航堆棧,你會想用navigation.reset()。欲瞭解更多信息,請參閱React Navigation Docs (Reset)

+0

我想從一個 導航到B, 但導航到屏幕B之前我想刪除一個畫面從堆棧是否有可能 –

+0

這並不有助於澄清我。 –

+0

是的,相同的解決方案應該可以幫到您 –