簡體   English   中英

如何在本機反應中從 Stack.Screen 在 OnPress 上打開抽屜

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM