Код ниже - моя основная навигация. Я делаю значок в заголовке в Живой ленте. Я хотел вызвать Настройка экрана в onPress к значку, но я не знаю, как я могу вызвать экран в главном навигаторе. Все остальные мои экраны работают нормально с this.props.navigation.navigate, так как он не вызывается при основной навигации.
import React from 'react';
import { SafeAreaView, StyleSheet, ScrollView, View, Text, StatusBar, TouchableOpacity} from 'react-native';
import {createStackNavigator} from 'react-navigation-stack';
import {createAppContainer} from 'react-navigation';
import { createMaterialTopTabNavigator } from 'react-navigation-tabs';
import Icon from 'react-native-vector-icons/FontAwesome';
//Local Components
import Setting from './BuzzScreen/Setting';
import Members from './TopTab/Members';
import Buzz from './Buzz';
const Home = createStackNavigator(
{
Setting: Setting,
Members: Members,
Buzz:
{
screen: Buzz,
navigationOptions: {
headerTitle: 'Create a Buzz',
headerRight: () => (
<View style={styles.iconContainer}>
<TouchableOpacity onPress={()=>this.state.Setting}> // error here
<Icon
style={{ margin: 10, fontSize: 18 }}
name='cog'
type='FontAwesome'
color='#ffff'
/>
</TouchableOpacity>
</View>
),
},
},
},
{
initialRouteName: 'LoginUser',
defaultNavigationOptions: {
headerStyle: {
backgroundColor: '#744DD2',
},
headerTintColor: '#fff',
headerTitleStyle: {
fontWeight: 'bold',
},
},
},
);