Как создать значок меню в навигации по ящику? Реагируйте на Родной язык

#react-native #react-navigation #navigation-drawer

Вопрос:

Я вложил a Drawer Navigator в a Stack Navigator , он хорошо работает и открывается, когда я провожу по нему пальцем, я хочу поместить значок меню над ним, когда он нажат, ящик открывается. Каждый метод, который я пробовал, всегда заканчивается navigation can't be found ошибкой.

Вот мой код:

 export class App extends Component {
.....

 function DrawerNav() {
      return (
        <Drawer.Navigator 
        drawerType="front" 
        initialRouteName="Main" drawerPosition="right">

            <Drawer.Screen name="Main" component={MainScreen} />
            <Drawer.Screen name="Wallet" component={WalletScreen} />
            <Drawer.Screen name="Appointments" component={Appointments} />
        </Drawer.Navigator>
               );}
   
      
  return ( 
       <Provider store={store}>
       
  

        <NavigationContainer>
        <Stack.Navigator initialRouteName="Menu">
          
           <Stack.Screen name="Menu" component={DrawerNav}  />
           <Stack.Screen name="Add" component={AddScreen}   navigation={this.props.navigation}/>
            <Stack.Screen name="Save" component={SaveScreen}  navigation={this.props.navigation}/>
           
        </Stack.Navigator>
        </NavigationContainer>
         
      </Provider>
          )}}
 

Я хочу открывать и закрывать ящик, когда нажимаю на этот значок:

<MaterialIcons name='menu' size={28} onPress={??} />

Ответ №1:

<Имя MaterialIcons=размер «меню»={28} onPress={()=>this.props.navigation.openDrawer()} /<Имя MaterialIcons=размер «меню»={28} onPress={()=>>

Комментарии:

1. Хорошо, как я могу заставить это открыть ящик?

2. это функция в библиотеке навигации, которая отвечает за навигацию по ящикам

3. Ладно, извините за очень глупый вопрос. Где именно я должен поместить этот значок в свой код??

4. На том же экране, где вы хотите его открыть, убедитесь, что экран включен в навигацию по ящику.

5. <Имя ящика.экрана=»Основной» компонент={Основной экран} /> <Имя ящика.Экрана=»Основной» компонент={Основной экран} /><Имя ящика.экрана=»Кошелек» компонент={Экран настенного экрана} /> <Имя ящика.экрана=»Кошелек» компонент={Экран настенного экрана} /><Имя ящика.экрана=»Встречи» компонент={Встречи} /> у вас есть 3 экрана в drwaer, вы можете поместить значок в любом месте на этих экранах