3

必ずしも画面コンポーネントではないモジュールからナビゲーションスタックをナビゲートしリセットする必要があります。React Native画面オブジェクト外のナビゲーションオブジェクトを取得

const {navigate} = this.props.navigation; 

私の場合、私は彼がプッシュ通知をタップしたときに適切に右の画面にユーザーをリダイレクトする必要があります。それは、私が使用できないことを意味します。私はコールバックしか持っていません:

onNotification: function(notification) { 
    // show correct screen and reset navigation stack 
} 

私はナビゲーションでもっと柔軟性が必要です。それで私の場合はどうしたらいいですか?

答えて

1

私の解決策です。私はすべての画面の基本クラスを実装しました。

import React, {Component} from 'react'; 

export default class Base extends Component { 
    static screen; 

    constructor(props) { 
     super(props); 
     Base.screen = this; 
    } 

    nav() { 
     return this.props.navigation; 
    } 
} 

を私はちょうどこれを呼び出すことができますいくつかの他のコンポーネント/モジュールでは、別の画面に移動する:

これで、私はいつも私が午前と必要な時に常にユーザーをリダイレクトするには、ナビゲーションオブジェクトを取得することができるものスクリーンを知っています
Base.screen.nav().navigate(...); 
1

画面上で世話をするナビゲーション対応の画面コンポーネントを作成しました。

画面外では、store.navigationに直接アクセスできます。私は私の例でそれをreduxと一緒に使ってきました。これがあなたに役立つかどうかを見てください。

https://github.com/aajiwani/react-navigation-aware-helper

関連する問題