2017-05-02 7 views
2

React Navigation headerModeなどで特定のルートを定義することはできますか?一部のルートでheaderModeを設定する方法(リアクションナビゲーション)

私のページの大半はヘッダーを使用していないため、グローバルにオフにする方法がありました。

export const App = StackNavigator({ 
    PhotoView: { 
    screen: Photos 
    }, 
    ListView: { 
    screen: List 
    } 
}, { 
    headerMode: 'none' 
}); 

しかし、私は、例えばListViewのヘッダを表示したい場合、私はそれをどのように行うのでしょうか?

私はドキュメントからいくつかのアプローチを試みましたが、運はありません。

答えて

2

navigationOptions.headernullに設定すると、すべてのラップナビゲーターのヘッダーを非表示にし、ヘッダーを表示する画面にnavigationOptions.headerTitleを設定することができます。

この回答は答える反応-ナビゲーションバージョンv1.0.0デベロッパー-beta.9から

const App = StackNavigator({ 
    PhotoView: { 
    screen: Photos, 
    }, 
    ListView: { 
    screen: List, 
    navigationOptions: { 
     headerTitle: 'ListView', 
    }, 
    } 
}); 

export const Root = StackNavigator({ 
    Root: { 
    screen: App, 
    navigationOptions: { 
     header: null, 
    }, 
    }, 
}); 
+0

感謝をベースにしています。それはうまくいったが、ヘッダーがあったはずのスペースがある。カメラモードであなたの携帯電話を想像するが、画像は約40ピクセル下にプッシュされます。 – Colton45

+0

'PhotoView'' navigationOptions.headerTitle'を' null'に設定してスペースを取り除くことができます – alpha

+2

解決とコメント@アルファは近いです。 'PhotoView'のheaderTitleをnullに設定すると、タイトルは隠されますが、バーの高さは隠されます... ' PhotoView'の 'navigationOptions.headerStyle'を{display: 'none'}に設定してください - これは、 'PhotoView'に対する所望のノー・ヘッダ・ルックを達成し、ヘッダが' ListView'に対して表示することを可能にする。 –

関連する問題