【发布时间】:2023-03-28 04:37:01
【问题描述】:
我目前正在使用 React-Native 开发一个应用程序,它包括 DrawerNavigation、SwitchNavigation 和 AppContainer。 header.js 中有一个方法,我需要使用它来使抽屉正常工作 (toggleDrawer())
我尝试在 DrawerNavigator 中传递该函数,但没有成功。
export default class Header extends React.Component {
render() {
return (
<View style={styles.container}>
<TouchableOpacity
onPress={() => {
this.props.navigation.toggleDrawer();
}}
>
<Image
source={require("/Users/Rron/AnketaApp/assets/hamburger-
icon.jpg")}
style={styles.imageStyle}
/>
</TouchableOpacity>
</View>
);
}
}
});
export default class HomeScreen extends React.Component {
static navigationOptions = ({ navigation }) => {
let drawerLabel = "Home";
return { drawerLabel };
};
render() {
return (
<View style={styles.container}>
<Header {...this.props}/>
<ScrollView>
<Content />
</ScrollView>
</View>
);
}
}
export default class DrawerNavigator extends React.Component {
render() {
return <AppContainer />;
}
}
const AppDrawerNavigator = createDrawerNavigator(
{
Home: {
screen: HomeScreen
},
Anketa: {
screen: AnketaScreen
}
}
);
const AppContainer = createAppContainer(
createSwitchNavigator({
Introduction: {
screen: IntroductionScreen
},
Drawer: {
screen: AppDrawerNavigator``
}
})
);
错误提示
this.props.navigation.toggleDrawer不是函数,也不是 已定义。
【问题讨论】:
标签: react-native navigation-drawer react-navigation expo