【发布时间】:2021-04-10 06:07:46
【问题描述】:
在我下面的代码中,当我使用 useNavigation() 时,它会给出一个错误,比如我的问题 如何使用useNavigation,请任何人都可以解决这个错误... 错误:找不到导航对象。您的组件是否在导航器的屏幕内? 我按照这里的代码https://rnfirebase.io/messaging/notifications#handling-interaction
import React, {useState, useEffect } from 'react';
import messaging from '@react-native-firebase/messaging';
import { NavigationContainer, useNavigation } from "@react-navigation/native";
import { createStackNavigator, HeaderTitle, } from "@react-navigation/stack";
const Stack = createStackNavigator();
function App(props) {
const navigation = props.navigation
//const navigation = useNavigation();
const [initialRoute, setInitialRoute] = useState('Splash Screen');
useEffect(() => {
messaging().onMessage(remoteMessage => {
navigation.navigate("Description Screen");
console.log(props.navigation)
});
}, []);
return (
<NavigationContainer>
<Stack.Navigator
initialRouteName={initialRoute}
headerMode="none"
screenOptions={{
gestureEnabled: true,
}}
>
<Stack.Screen name="Splash Screen" component={SplashScreen} />
<Stack.Screen name="Description Screen" component={DescriptionScreen} />
</Stack.Navigator>
</NavigationContainer>
);
}
export default App;
【问题讨论】:
-
您找到解决方案了吗?我遇到了同样的问题。
标签: android ios react-native react-native-navigation react-navigation-stack