Я занимаюсь разработкой мобильного приложения с использованием React Native, и у меня возникла небольшая дилемма. У меня 2 требования:
1: для возможности навигации назад.
2: иметь ящик (слайд-меню)
Я использую React Navigation, которая отлично работает для любого из двух требований, но не вместе (по крайней мере, как я понял).
Я попытался использовать DrawerNavigator, и он позволяет получить действительно хороший ящик. Но я не смог создать функцию возврата. В приложении вы должны иметь возможность открыть ящик и перемещаться. И пока вы находитесь на странице и переходите к другой, вы должны иметь возможность вернуться на страницу, с которой вы пришли. И, как я понял, это возможно только в StackNavigator. Но в StackNavigator нет функциональности ящика.
Итак, мне интересно, какие у меня варианты?
Вложенные навигаторы? Я пробовал, но в итоге получил функцию возврата, которая перемещалась только между навигаторами, а не страницами в StackNavigator. Поэтому я не уверен, что то, что я хочу, возможно с помощью вложенных навигаторов.
Другой возможностью будет создание полностью настраиваемого компонента Drawer, который я переключаю по состоянию в родительском компоненте.
Есть ли у вас какие-либо советы по этому вопросу?
Код, который я пробовал для вложенного навигатора:
const Nav = createDrawerNavigator({
Home: HomeScreen,
Single: Single,
Tag: Tagsview,
Privacy: Personvern,
Search: Search,
Contact: Contact,
About: About,
Login: Login,
MostPopular: MostPopular,
MostShared: MostShared,
TagsSingle: TagsSingle,
Newest: NewestImages,
}, {
contentComponent: ({ navigation }) => (
<NavMenu navigation={navigation} />
),
},
{
drawerBackgroundColor: '#2D2D2D',
});
const RootStack = createStackNavigator({
Login: Login,
Drawer: {screen: Nav}
},
{
initialRouteName: 'Login',
drawerBackgroundColor: '#2D2D2D',
});