import React from 'react'; import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { createStackNavigator } from 'react-navigation-stack'; import { createAppContainer } from '@react-navigation/native'; class ScreenOne extends React.Component { componentDidMount() { this._timer = setTimeout(() => { this.props.navigation.navigate('Screen2'); clearTimeout(this._timer); }, 0); } render() { return ( Welcome to React Native! Here is Screen One! { this.props.navigation.navigate('Screen2'); }} > Press me! ); } } class ScreenTwo extends React.Component { render() { return ( Welcome to React Native! Here is Screen Two! { this.props.navigation.navigate('Screen3'); }} > Press me! ); } } class ScreenThree extends React.Component { render() { return ( Welcome to React Native! Here is Screen Three! ); } } export const Stack = createStackNavigator( { Screen1: { screen: ScreenOne }, Screen2: { screen: ScreenTwo }, Screen3: { screen: ScreenThree }, }, { initialRouteName: 'Screen1', defaultNavigationOptions: { header: null, }, } ); const PrimaryStack = createAppContainer(Stack); export default PrimaryStack; const styles = StyleSheet.create({ button: { height: 50, width: 200, backgroundColor: 'dodgerblue', justifyContent: 'center', alignItems: 'center', }, container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, welcome: { fontSize: 20, textAlign: 'center', margin: 10, }, instructions: { textAlign: 'center', color: '#333333', marginBottom: 5, }, });