React native 如何使用堆栈内导航浏览屏幕

React native 如何使用堆栈内导航浏览屏幕,react-native,react-native-navigation,React Native,React Native Navigation,下面的代码是我的主要导航。我在Buzz的标题中创建了一个图标,我想在onPress中调用设置屏幕,但我不知道如何调用主导航器中的屏幕。我的所有其他屏幕都可以很好地使用this.props.navigation.navigate,因为它不是在主导航上调用的 import React from 'react'; import { SafeAreaView, StyleSheet, ScrollView, View, Text, StatusBar, TouchableOpacity} from 'r

下面的代码是我的主要导航。我在Buzz的标题中创建了一个图标,我想在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',
            },
        },
    },
);
从“React”导入React;
从“react native”导入{SafeAreaView,StyleSheet,ScrollView,View,Text,StatusBar,TouchableOpacity};
从“反应导航堆栈”导入{createStackNavigator};
从“react navigation”导入{createAppContainer};
从“反应导航选项卡”导入{createMaterialTopTabNavigator};
从“反应本机矢量图标/FontAwesome”导入图标;
//局部分量
从“/BuzzScreen/Setting”导入设置;
从“./TopTab/Members”导入成员;
从“/Buzz”导入嗡嗡声;
const Home=createStackNavigator(
{ 
设定:设定,
成员:成员,
嗡嗡声:
{
屏幕:Buzz,
导航选项:{
标题:“制造轰动”,
头灯:()=>(
this.state.Setting}>//此处出错
),
},
},
},
{
initialRouteName:“登录用户”,
defaultNavigationOptions:{
头型:{
背景颜色:“#744DD2”,
},
标题颜色:“#fff”,
头饰样式:{
fontWeight:'粗体',
},
},
},
);

您可以从NavigationPrions获得导航道具…使用此代码

navigationOptions: ({navigation}) => ({ 
    headerTitle: 'Create a Buzz',
                headerRight: () => (
                    <View style={styles.iconContainer}>
                        <TouchableOpacity onPress={()=> navigation.navigate('Setting')}> // error here
                            <Icon
                                style={{ margin: 10, fontSize: 18 }}
                                name='cog'
                                type='FontAwesome'
                                color='#ffff'
                            />
                        </TouchableOpacity>
                    </View>
                ),
    }),
navigationOptions:({navigation})=>({
标题:“制造轰动”,
头灯:()=>(
navigation.navigate('Setting')}>//此处出错
),
}),

Giving Error“ReferenceError:not find Variable:navigation”您可能缺少:
navigationOptions:({navigation})