2017-07-25 7 views
0

私はスタイル目的のためにヘッダを削除したStackNavigatorを実装しました。StackNavigatorの異なるヘッダ

今私はヘッダーを戻したいStackNavigatorの中にComponentを持っています。私はそれをどう思いますか?

は、ここに私のStackNavigatorです:

const Nav = StackNavigator(
{ 
    SplashScreen: {screen: SplashScreen}, 
    Login: {screen: Login}, 
    Register: {screen: Register}, 
    Main: {screen: MainNav}, 
}, 
{ 
    headerMode: 'none', 
}); 

しかし、登録画面のために、私は(ユーザーは、彼が戻って行くことができることを知っているように)ヘッダーを持っていると思い

私はこれやってみました:

static navigationOptions = { 
    title: 'Register', 
    header: { 

    } 
} 

をしかし、私はかなりのヘッダ部分の内側に配置するのか分かりません。

私が何をしたか個人的に

答えて

1

:私はそれを表示するには、showとnにしたいdidntのとき、私はので、私は height: condition ? 0 : 10

ようsomenthingない可能性が0にヘッダの高さを設定していたそうでなければ、誰かがhere

に答え

次のコードでプログラム的にそれを行うことができます。

static navigationOptions = ({ navigation }) => ({ header: 
> (navigation.state.params.thanks) => <HeaderView 
> content={navigation.state.params.thanks} /> : null, }) 

そして、あなた はこれで状態のparamsを設定することができます。

componentWillMount() { this.props.navigation.setParams({ thanks:"Something" }); } 

私はHeaderViewのようなものがためにアクセス可能であれば私と私は確信して ないんだけど、コードを試していないが、反応ナビゲーション内のパブリックAPI 、およびコンテンツプロパティがある場合しかし、私は 抽象的に考える、これはプログラムでそれを設定する方法です。

私はどちらかそれを試していないが、それは


編集作業かもしれません:githubのに与えられた答えは間違いなく良いですが、あなたが反応し、ナビゲーションからHeaderViewをインポートして表示し、非表示にするheader: condition ? HeaderView : nullを行うことができますそれ

関連する問題