React native 如何使用堆栈内导航浏览屏幕
下面的代码是我的主要导航。我在Buzz的标题中创建了一个图标,我想在onPress中调用设置屏幕,但我不知道如何调用主导航器中的屏幕。我的所有其他屏幕都可以很好地使用this.props.navigation.navigate,因为它不是在主导航上调用的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
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})