-
Notifications
You must be signed in to change notification settings - Fork 4
/
App.js
45 lines (42 loc) · 1.19 KB
/
App.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import React, { Component } from 'react';
import {
Navigator, // Allows to navigate between different screens
StatusBar // Allows to hide the status bar
} from 'react-native';
import List from './List';
import Movie from './Movie';
const RouteMapper = (route, navigationOperations, onComponentRef) => {
if (route.name === 'list') {
return (
<List navigator={navigationOperations} />
);
} else if (route.name === 'movie') {
return (
<Movie
// Pass movie object passed with route down as a prop
movie={route.movie}
// Pass navigationOperations as navigator prop
navigator={navigationOperations}
/>
);
}
};
export default class App extends Component {
componentDidMount() {
// Hide the status bar
StatusBar.setHidden(true);
}
render() {
return (
// Handle navigation between screens
<Navigator
// Default to list route
initialRoute={{name: 'list'}}
// Use FloatFromBottom transition between screens
configureScene={(route, routeStack) => Navigator.SceneConfigs.FloatFromBottom}
// Pass a route mapper functions
renderScene={RouteMapper}
/>
);
}
}