Add tabs+stack Example

This commit is contained in:
Krzysztof Magiera
2018-12-20 09:16:56 +01:00
parent 68a02d58d7
commit ed14cd3a87
2 changed files with 47 additions and 0 deletions

View File

@@ -16,6 +16,7 @@ import { useScreens } from 'react-native-screens';
import Stack from './stack';
import Tabs from './tabs';
import Navigation from './navigation';
import NavigationTabsAndStack from './navigationTabsAndStack';
useScreens();
@@ -23,6 +24,10 @@ const SCREENS = {
Stack: { screen: Stack, title: 'Stack example' },
Tabs: { screen: Tabs, title: 'Tabs example' },
Navigation: { screen: Navigation, title: 'React Navigation example' },
NavigationTabsAndStack: {
screen: NavigationTabsAndStack,
title: 'React Navigation Tabs + Stack',
},
};
class MainScreen extends React.Component {

View File

@@ -0,0 +1,42 @@
import * as React from 'react';
import { Text, View, StyleSheet, Button } from 'react-native';
import { useScreens } from 'react-native-screens';
import {
createAppContainer,
createStackNavigator,
createBottomTabNavigator,
} from 'react-navigation';
useScreens();
class DetailsScreen extends React.Component {
static navigationOptions = ({ navigation }) => {
return {
title: 'Details screen #' + navigation.getParam('index', '0'),
};
};
render() {
const index = this.props.navigation.getParam('index', 0);
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Button
title={'More details ' + index}
onPress={() =>
this.props.navigation.push('Details', {
index: index + 1,
})
}
/>
</View>
);
}
}
const Scenes = {
A: createStackNavigator({ DetailsScreen }),
B: createStackNavigator({ DetailsScreen }),
C: createStackNavigator({ DetailsScreen }),
D: createStackNavigator({ DetailsScreen }),
};
export default createAppContainer(createBottomTabNavigator(Scenes, {}));