【发布时间】:2021-08-16 17:03:04
【问题描述】:
大家好,麻烦您了。我遇到了这个错误
TypeError: undefined is not an object (evalating 'navigation.navigate')
这是我的代码
const HomeScreen = ({navigation}) => {
return(
<View>
<FlatList
horizontal
contentContainerStyle={{paddingHorizontal: 30}}
data={userBookingData}
keyExtractor={(item) => item.id}
renderItem={({item}) => <NewOrderPopUp navigation={navigation} {...item}/>} />
</View>
);
}
function NewOrderPopUp({navigation, .....})
{
return(
<Pressable onPress={()=> navigation.navigate('../../screens/AcceptedBookingScreen/AcceptedBookingScreen')}>
);
}
export default NewOrderPopUp;
我的包裹
"@react-navigation/native": "^6.0.2",
"@react-navigation/stack": "^6.0.6",
帮助某人。谢谢。
#编辑#
在我的 app.js 中
import React, {useState} from 'react';
// Import Navigators from React Navigation
import {NavigationContainer} from '@react-navigation/native';
import {createStackNavigator} from '@react-navigation/stack';
// Import Screens
import HomeScreen from './src/screens/HomeScreen';
import AcceptedBookingScreen from './src/screens/AcceptedBookingScreen/AcceptedBookingScreen';
const Stack = createStackNavigator();
const App = () => {
return (
<NavigationContainer>
<Stack.Navigator initialRouteName="HomeScreen">
<Stack.Screen
name="HomeScreen"
component={HomeScreen}
options={{headerShown: false}}
/>
<Stack.Screen
name="AcceptedBookingScreen"
component={AcceptedBookingScreen}
options={{headerShown: false}}
/>
</Stack.Navigator>
</NavigationContainer>
);
};
export default App;
但现在我遇到了这个错误
错误:无法从 C:\Users\XXXXXXXXXXX\XXXXX\node_modules@react-navigation\stack\src\views\Header\Header.tsx 解析模块 react-native-safe-area-context:react-native-在项目或这些目录中找不到安全区域上下文: node_modules@react-navigation\stack\node_modules 节点模块
【问题讨论】:
-
您是否尝试过这样的操作:
navigation.navigate('AcceptedBookingScreen')}> 并且在您的路由器中需要指定该路由 -
你应该安装 react-native-safe-area-context 看这里reactnavigation.org/docs/getting-started/…
标签: react-native react-hooks react-navigation