Я использую следующую настройку навигации в моем собственном проекте реакции.Здесь я использую навигацию по ящикам и стековую навигацию.
import MainScreen from '../components/MainScreen';
import SettingsScreen from '../components/SettingsScreen';
import FriendsListScreen from '../components/FriendsListScreen';
import FriendProfileScreen from '../components/FriendProfileScreen';
// stack navigator - 1
const MainScreenStack = createStackNavigator(
{
MainScreen: MainScreen,
FriendsListScreen: FriendsListScreen,
FriendProfileScreen: FriendProfileScreen,
},
{
initialRouteName: 'MainScreen',
navigationOptions: {
drawerLabel: "Home"
},
}
);
// stack navigator - 2
const SettingsScreenStack = createStackNavigator(
{
SettingsScreen: SettingsScreen
},
{
navigationOptions: {
drawerLabel: "Settings"
},
}
);
// drawer navigation (stack navigator 1 + 2)
const AppNavigator = DrawerNavigator({
MainScreen: MainScreenStack,
SettingsScreen: SettingsScreenStack
});
const AppContainer = createAppContainer(AppNavigator)
Сценарий:
- В ящике я нажимаю ссылку «Домой» и перехожу к главному экрану.
- На главном экране я нажимаю кнопку и перехожу к FriendsListScreen.
- На странице FriendsListScreen я снова открываю ящик и нажимаю ссылку «Домой».Ящик закрывается, и навигация не выполняется.
Макет:
Есть ли способ вернуться обратно на главный экран, когда я нажимаю ссылку "Главная" из ящика?