我正在学习一个react原生课程。我正在尝试创建一个iconName = "ios-menu“,但是当尝试打开它时它不工作,它告诉我"TypeError: navData.navigation.toggleDrawer不是一个函数”我找不到解决方案我想知道为什么会发生这种情况有人可以帮助我。
enter code here
import { HeaderButtons, Item } from 'react-navigation-header-buttons';
import { CATEGORIES } from '../data/dummy-data';
import HeaderButton from'../components/HeaderButton';
import CategoryGridTile from '../components/CategoryGridTile';
import { DrawerActions } from 'react-navigation-drawer';
import { createDrawerNavigator } from 'react-navigation-drawer';
const CategoriesScreen = props => {
const renderGridItem = itemData => {
return (
<CategoryGridTile
title={itemData.item.title}
color={itemData.item.color}
onSelect={() => {
props.navigation.navigate({
routeName: 'CategoryMeals',
params: {
categoryId: itemData.item.id
}
});
}}
/>
);
};
return (
<FlatList
keyExtractor={(item, index) => item.id}
data={CATEGORIES}
renderItem={renderGridItem}
numColumns={2}
/>
);
};
CategoriesScreen.navigationOptions = navData => {
return {
headerTitle: 'Meal Categories',
headerLeft: (
<HeaderButtons HeaderButtonComponent={HeaderButton}>
<Item
title="Menu"
iconName="ios-menu"
onPress={() => {
navData.navigation.toggleDrawer();
}}
/>
</HeaderButtons>
)
};
};
发布于 2021-03-30 17:04:23
在你创建它的时候,你可能没有在导出默认createAppContainer(DrawerNavigator“不是栈而是抽屉”)的时候正确的导出模块;
toggleDrawer()函数没有被识别为反应导航抽屉方法的原因可能是没有传递给App.js
https://stackoverflow.com/questions/65348669
复制相似问题