![](/img/trans.png)
[英]Passsing props from App.js to Stack.Screen React Native
[英]How to Open Drawer On OnPress from Stack.Screen in react native
我正在嘗試從 homeScreen 打開抽屜。 當我向右滑動時抽屜正在打開,但是。 我想打開 Draer onPress of menu Icon。 但它不起作用。 我使用了 openDrawer、toggleDrawer 但沒有任何效果。
這是我的代碼
function MyDrawer() {
return (
<Drawer.Navigator initialRouteName="homeScreen">
<Drawer.Screen name="homeSreen" component={homeScreen}
options={{
headerLeft: () => <Icon
name="menu"
size={25}
color="#D4AF37"
onPress={() => navigation.toggleDrawer()}
/>
}}
/>
</Drawer.Navigator>
);
}
function App({ navigation }) {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="splashScreen" component={splashScreen} options={{headerShown: false}} />
<Stack.Screen name="loginScreen" component={loginScreen} options={{headerShown: false}} />
<Stack.Screen name="homeScreen" component={MyDrawer} />
</Stack.Navigator>
</NavigationContainer>
);
}
export default App;
在 react-navigation V5
navigation.dispatch(DrawerActions.openDrawer());
navigation.dispatch(DrawerActions.closeDrawer());
navigation.dispatch(DrawerActions.toggleDrawer());
嘗試在 function MyDrawer() 中添加導航
像這樣function MyDrawer({navigation}) {...}
您可以使用this.props.navigation.openDrawer()
打開抽屜
<TouchableOpacity
onPress={() => {
this.props.navigation.openDrawer();
}}>
<Icon name="bars" size={21} color="rgb(112, 112, 112)" />
</TouchableOpacity>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.