Am currently working with an app that will provide you with a class/race/background story from an fantasy api. I used expo’s tab template when i created the project.
So my question is how would I send data that i fetched in my Race screen to my background-story screen in order to fetch the correct background-story? I’ve been trying to googling it but couldnt find an answer that helped, the only thing i found is that its something to do with the navigator, hence why i link it.
Maintabnavigator.js
JavaScript
x
73
73
1
import React from 'react';
2
import { Platform } from 'react-native';
3
import { createStackNavigator, createBottomTabNavigator, createDrawerNavigator } from 'react-navigation';
4
import { Icon } from 'expo';
5
import { Ionicons} from '@expo/vector-icons';
6
import HomeScreen from '../screens/HomeScreen';
7
import CharacterScreen from '../screens/CharacterScreen';
8
import BackgroundDetails from '../screens/CharacterScreens/BackgroundDetails';
9
import RaceDetails from '../screens/CharacterScreens/RaceDetails';
10
import ClassDetails from '../screens/CharacterScreens/ClassDetails';
11
12
13
const RaceStack = createStackNavigator({
14
race: RaceDetails
15
});
16
const ClassStack = createStackNavigator({
17
class: ClassDetails
18
});
19
const BackgroundStack = createStackNavigator({
20
background: BackgroundDetails
21
});
22
const GeneratorStack = createStackNavigator({
23
generator: CharacterScreen,
24
});
25
26
27
GeneratorStack.navigationOptions= {
28
tabBarLabel: 'Generator',
29
tabBarIcon: ({focused}) => (
30
<Icon.Entypo
31
focused={focused}
32
name={'retweet'}
33
size={26}
34
/>
35
)
36
}
37
RaceStack.navigationOptions= {
38
tabBarLabel: 'Race',
39
tabBarIcon: ({focused}) => (
40
<Icon.MaterialIcons
41
focused={focused}
42
name={'person'}
43
size={26}
44
/>
45
)
46
}
47
ClassStack.navigationOptions= {
48
tabBarLabel: 'Class',
49
tabBarIcon: ({focused}) => (
50
<Icon.MaterialCommunityIcons
51
focused={focused}
52
name={'sword-cross'}
53
size={26}
54
/>
55
)
56
}
57
BackgroundStack.navigationOptions= {
58
tabBarLabel: 'Background Story',
59
tabBarIcon: ({focused}) => (
60
<Icon.Feather
61
focused={focused}
62
name={'book'}
63
size={26}
64
/>
65
)
66
}
67
export default createBottomTabNavigator({
68
GeneratorStack,
69
ClassStack,
70
RaceStack,
71
BackgroundStack,
72
});
73
Advertisement
Answer
When you navigate from one screen to another as follows:
JavaScript
1
2
1
this.props.navigation.navigate('ContactDisplay', { item });
2
You may access ‘item’ in the other screen as follows:
JavaScript
1
2
1
console.log(this.props.navigation.state.params.item);
2