2017-10-26 8 views
0

私は現在、反応しているネイティブアプリでStackNavigatorを使用しています。StackNavigation私がどの画面からナビゲートしたかを知る方法?

私は同じ画面にナビゲートする2つの画面を持っていますLoginScreen。しかし、どの画面から来たのかによって、別の画面に行きたいと思っています。

例:

ScreenAの - > LoginScreen - > ScreenC

ScreenB - > LoginScreen - > ScreenD

このようLoginScreenで、私は私がしましたスクリーン知っておく必要があります画面CまたはDに移動するかどうかを知るようにしてください。

this.props.navigationのgoBack機能は、最後の画面に戻ります。それはあなたに画面のIDまたはあなたがどこから来たのかを決める何らかの方法を与えるものではありません。

誰もがこれに対する解決策を持っていますか?

答えて

1

ログイン画面がIsScreenAそれを呼び出す、フラグを期待

おかげで、この変数は、それぞれtrueまたはfalseとして画面AとBから来ます。すると、ログイン画面に、そのフラグに基づいて移動します。

if(this.props.IsScreenA) 
    this.props.navigation.navigate("ScreenC") 
else 
    this.props.navigation.navigate("ScreenD") 

今すぐ戻るため、上記のロジックと一緒にmy answer hereを使用しています。 LoginScreenを呼び出してから、どの画面に基づいて、別のgoBack()を渡します。

編集:

画面Aから::

this.props.navigation.navigate("LoginScreen", {IsScreenA: true}); 

画面Bから:

this.props.navigation.navigate("LoginScreen", {IsScreenA: false}); 
+0

パーフェクト

パラメータを渡すには、このような何かを!私はそれがこのようなものになると思った。あなたが移動するときにどのようにフラグを追加しますか?何かのように、this.props.navigation.navigate( 'LoginScreen'、true); ? – SwimmingG

+0

@SwimmingG私の編集を参照してください –

+1

あなたは上司です!乾杯! – SwimmingG

関連する問題