由于某种原因,我得到这个错误''无法读取属性'导航'的未定义''.我不知道问题可能在哪里我仔细检查了一切.这里是我的App.js文件
import { StyleSheet, Text, View } from 'react-native';
import CategoriesScreen from './screens/CategoriesScreen';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import MealsOverviewScreen from './screens/MealsOverviewScreen';
const Stack = createNativeStackNavigator()
export default function App() {
return (
<>
<StatusBar style='light'/>
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="MealsCategories" component={CategoriesScreen}/>
<Stack.Screen name="MealsOverview" component={MealsOverviewScreen}/>
</Stack.Navigator>
</NavigationContainer>
<CategoriesScreen/>
</>
)}
字符串
下面是导航应该发生的文件:
import { FlatList } from "react-native";
import { CATEGORIES } from "../data/dummy-data";
import GategoryGridTile from "../components/CategoryGridTale";
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
function CategoriesScreen({ navigation }){
function renderCategoryItem(itemData){
function pressHandler() {
navigation.navigate('MealsOverview')
}
return (
<GategoryGridTile
title={itemData.item.title}
color={itemData.item.color}
onPress={pressHandler}/>
)
}
return (
<FlatList
data={CATEGORIES}
keyExtractor={(item) => item.id}
renderItem={renderCategoryItem}
numColumns={2}
/>
)
}
export default CategoriesScreen
型
2条答案
按热度按时间siotufzp1#
我发现了错误。这是因为NavigationContainer下的CategoriesScreen
u7up0aaq2#
你所做的应该是可行的,但是如果其他方法都失败了,尝试使用
useNavigation
钩子。字符串
编辑:啊,看起来你在JSX代码中有一个错字。