【发布时间】:2020-07-05 13:54:30
【问题描述】:
这是我的 App.js
import React from "react";
import Menu from "./components/Menu";
import HomeScreen from "./views/HomeScreen";
import SecondScreen from "./views/SecondScreen";
import { NavigationContainer } from "@react-navigation/native";
import { createStackNavigator } from "@react-navigation/stack";
const Stack = createStackNavigator();
export default function App() {
return (
<Container>
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen
name="Home"
component={HomeScreen}
/>
<Stack.Screen name="Second" component={SecondSCreen} />
</Stack.Navigator>
</NavigationContainer>
<Menu></Menu>
</Container>
);
}
它可以工作,因为它默认显示 HomeScreen,但我想通过 Menu-组件导航到第二个屏幕:
import React from "react";
import { View, Text, TouchableOpacity } from "react-native";
class Menu extends React.Component {
render() {
return (
<View>
<TouchableOpacity
onPress={() => {
alert("Hi");
}}
>
<Text>HomeScreen</Text>
</TouchableOpacity>
<TouchableOpacity
onPress={() => {
navigation.navigate("Second");
}}
>
<Text>Screen 2</Text>
</TouchableOpacity>
</View>
);
}
}
export default Menu;
该组件是可见的,但是当我单击第二个按钮时,我希望 SecondScreen 处于打开状态。 但我得到这个错误:
找不到变量:导航
我错过了什么?
【问题讨论】:
-
您正在尝试访问导航之外的导航检查此答案stackoverflow.com/a/62700646/1435722
-
@GuruparanGiritharan 但是我如何(重新)使用它来使我的
Menu.js工作? -
检查我的答案
标签: react-native expo