2017-08-03 5 views
1

私は単純な問題であると私は願っていると苦労しています。私はそれぞれにさまざまな画面を持つ複数のStackNavigatorsを持っています。また、.navigateに加えて、メインスタック間を移動するDrawerを使用しています。このように:リアクションナビを使用して以前の/別のスタックへのgoBack()

  • メインスタック
    • メイン画面(エントリー)
    • メンバープロフィール
  • 受信トレイスタック
    • 受信トレイ画面
    • メッセージ詳細画面

メッセージの詳細画面で、ユーザーはプロファイルに移動できます。したがって、メッセージの詳細>プロファイル。これは、アプリ全体でそうであるように、素晴らしい作品です。同じスタック内のナビゲーションは、前方と後方の両方で素晴らしい動作をします。私は標準を使用しています。移動して前進してください。

this.props.navigation.navigate('MemberProfilePage') 

しかし、戻るボタンをタップするかカスタム戻るボタンを設定すると、ユーザーはメイン画面に戻ります。また、ドロワーのInboxをタップすると、画面はMessage Detailsに表示されます。

しかし、私は本当に行きたいです:メッセージ詳細>プロフィール...メッセージの詳細へのgoBack()のプロフィール。任意の方向のための

const backAction = NavigationActions.back({ 
    key: 'ProfileScreen' 
}) 

または

const backAction = NavigationActions.back({ 
    key: null 
}) 

ありがとう:私はデフォルトGOBACK()を試した

、私はこのようなバックアクションを派遣しようとしました。

編集:DrawerのbackButtonの設定に関する最初の提案が機能するようです。しかし、それは問題を解決しません。

私は現在のスタックの最初の画面に戻ることは望ましくありません。私は別のスタックにある私がナビゲートした画面に戻って行きたい。あなたのDrawerNavigatorConfigで

+0

アプリの階層構造に問題がある可能性があります。たぶん2の代わりに1 Stackを持っていて、必要な画面から必要な画面にナビゲートし、必要な画面を「戻る」ボタンで表示するだけです。 – Eduard

+0

ところで、この動作はリアクションナビゲーション側のバグです。彼らは... 4月以来それに取り組んできました。 – Eduard

答えて

1

が、これはbackBehavior

backBehavior='none' //default is initialRoute 

小道具変更 - 初期 ルートに戻るボタンの原因スイッチすべきか?はいの場合、initialRouteに設定します。それ以外の場合はなしです。デフォルトは initialRouteです。

https://reactnavigation.org/docs/navigators/drawer#DrawerNavigatorConfig

チェックの作業であれば...

+0

その小道具がデフォルトのinitialRouteを使用していた、そうです。しかし、それを 'none'に変更することは効果がありませんでした。同じ経験が行われています。 –

+0

別の場所に別のスタックに入る前に画面に戻ろうとするアプリがあります。その場合、initialRouteには行かず、代わりに同じスタック内の最初の画面に移動します。基本的には画面を閉じるだけで、別のスタック内を移動した画面に戻る代わりに、スタック内の最初の画面に移動します。 –

関連する問題