2017-07-06 5 views
0

react-navigationは、ネイティブ反応し、反応ナビゲーション、TabNavigatorコンテナを、裁判官何か実行する際には、左上隅にあるボタンをクリックして戻って

のGithub:私はこのケースでは、react-navigationを使用

https://github.com/react-community/react-navigation

、私はナビゲーションの戻るボタンをクリックすると、アプリは父のビューを表示します。

私の必要条件は真です、私は左上隅の戻るボタンをクリックして実行します。条件がfalseの場合は、アラートのみを表示します。

私はreduxを使用しています。 つまり、go back還元を聞くにはどうすればいいですか?

答えて

0

条件によってナビゲートするために、あなたは例えば、YourComponent.nativationOptionsに戻るボタンを設定することができますが。:

class YourComponent extends React.Component { 
    static nativationOptions = ({navigation}) => ({ 
    headerLeft: 
     <Button title='Back' onPress={() => { 
      if (condition) { 
      navigation.goBack() 
      } else { 
      // Do alert 
      } 
     }} /> 
    }) 
} 

あなたの条件がpropsを依存している場合、あなたはnavigation.state.paramsでそれを得ることができます。

条件がコンポーネントの内部状態に依存する場合は、navigation.setParamsにコールしてコンポーネントに条件コールバックを渡すか、条件が変更されたときに条件値を入力できます。

reduxと統合するには、https://reactnavigation.org/docs/guides/reduxを参照してください。

+0

'static nativationOptions'は' react-navigation'のAPIですか?ユーザー定義のバックボタンを作成しましたか? – jiexishede

+0

'navigationOptions'についてはhttps://reactnavigation.org/docs/navigators/navigation-optionsを参照してください。カスタム' backLeft'、 'react-navigation'でレンダリングしたり、HeaderBackButton(https:// github .com/react-community/react-navigation/blob/master/src/views/HeaderBackButton.js)。したがって、上記のコードでは、ボタンコンポーネントが必要です。または、「react-navigation」の 'import {HeaderBackButton} 'によって' react-navigation'の 'HeaderBackButton'を使用することができます –

関連する問題