2017-12-08 9 views
-1

を変更するとき、私は、次のタブナビゲーション構造:呼び出すクラスメソッド、タブ

TAB1:サウンドプレーヤー画面(あなたが音を鳴らすことができる)、

TAB2:情報画面、

TAB3を:設定画面、

「サウンドプレーヤー」タブから「情報」タブまたは「設定」タブに切り替えると、サウンドプレイヤーの再生が停止します(クラスにはstop()メソッドがあります)。私はtabBarOnPressを使用しようとしましたが、そこからstopメソッドを呼び出す方法を実際に理解していません。

static navigationOptions = { 
    tabBarOnPress: ({previousScene,scene,jumpToIndex}) => { 
     previousScene.stop(); 
     jumpToIndex(scene.index); 
    } 
} 
+0

あなたが試したことを投稿してください。 – Mickers

答えて

0

これは、それが現在のライブラリの現在の状態に焦点を当てている画面を知ることは非常に難しいことが判明しているため、react-navigationを使用して達成することが意外に難しいです(長い問題を参照してください。私はこのようなものを試してみましたhere)。

解決策の1つはreact-navigation-is-focused-hocです。これは、画面コンポーネントをラップし、チェックできる小道具でブール値を提供します。

componentWillUpdate (nextProps) { 
    if (!nextProps.isFocused) { 
    // component is going out of focus, stop the music 
    this.stop() 
    } 
} 

注:あなたがtab1componentWillUpdateに次のようなものを置くことができる、ということを考えると私はそれが少しより最新であるパトリック・ウォズニアックのフォークだ、私はリンクされたライブラリのバージョンを使用することをお勧めします。

関連する問題