/** * @flow */ import type { NavigationScreenProp, NavigationState, NavigationStateRoute, NavigationEventSubscription, } from 'react-navigation'; import * as React from 'react'; import { ScrollView, StatusBar } from 'react-native'; import { createStackNavigator, SafeAreaView, withNavigation, NavigationActions, StackActions, } from 'react-navigation'; import invariant from 'invariant'; import SampleText from './SampleText'; import { Button } from './commonComponents/ButtonWithMargin'; import { HeaderButtons } from './commonComponents/HeaderButtons'; type MyNavScreenProps = { navigation: NavigationScreenProp, banner: React.Node, }; type BackButtonProps = { navigation: NavigationScreenProp, }; class MyBackButton extends React.Component { render() { return ( ); } _navigateBack = () => { this.props.navigation.goBack(null); }; } const MyBackButtonWithNavigation = withNavigation(MyBackButton); class MyNavScreen extends React.Component { render() { const { navigation, banner } = this.props; const { push, replace, popToTop, pop, dismiss } = navigation; invariant( push && replace && popToTop && pop && dismiss, 'missing action creators for StackNavigator' ); return ( {banner}