2017-06-13 15 views
0

React Native Routerを使用していて、ナビゲーションのルートにあるコンポーネントに戻るボタンがあり、その操作を上書きしたいとします。React Native Routerでルートにボタンを表示するにはどうすればいいですか?

renderBackButtonで自分自身を作成せずに戻るボタンを有効にすることはできますか?むしろ、ライブラリと一緒に提供されているものを使って、他の画面間の一貫性を保ち、新しいコンポーネントを書くのを避けたいと思います。

私はhideBackImage={false}で試しましたが、うまくいかないようです。

答えて

2

できません。アプリケーションのルートにいるので、スタックには1つのシーンしかありません。

なぜ最初のアプリケーション画面に戻るボタンが必要ですか?それは意味をなさない...

ただし、カスタムアクションで戻るボタンをレンダリングするのはかなり簡単です。たとえば:

renderCustomButton() { 
    return() => (
    <TouchableOpacity> 
     <Icon name="back" size={30} color="#900" /> 
    </TouchableOpacity> 
); 
} 

<Scene key='root' 
    ...  
    renderLeftButton={this.renderCustomButton()} 
    ... 
/> 

その後、あなたは自分のアクションを追加するか、あなたはまた、TouchableOpacityたonPressにそれを追加することができます

<Scene key='root' 
    ...  
    renderLeftButton={this.renderCustomButton()} 
    onLeft={**YOUR ACTION**} 
    ... 
/> 

を支えるonLeftでやりたいものは何でも小道具

私は通常https://github.com/oblador/react-native-vector-icons

+0

私はもともと(GoogleマップのAndroidアプリに似ています)検索バーを閉じるためにこれをやってみたかった反応ネイティブ・ベクトルのアイコンを自分のカスタムナビゲーションバーのアイコンに使用します。スタック上の新しいページを押すと、遷移が非常にバグのように見えました。回避策として、検索ページはnavのルートと同じコンポーネント内にありました。ナビゲーションバーではなく検索バービューで戻るボタンを作成しました。あなたの答えをありがとう、それはそれを行うの完全に有効な方法です! – emroussel

+0

@emroussel嬉しいことに、私は "助け"できます:)あなたのアプリで幸運を! – David

関連する問題