Я новичок в React Native и пытаюсь создать приложение с нижним навигатором вкладок. Однако в HomeScreen.js
, который является первым экраном навигатора вкладок, я хочу, чтобы пользователь мог переходить к другому экрану, нажимая кнопку, находясь в том же навигаторе вкладок.
Например: В HomeScreen.js
, когда пользователь нажимает кнопку, он переходит к AnotherScreen.js
, оставаясь в Навигаторе вкладок, который в данном случае является Домашним.
Это мой Apps.js
import React from 'react';
import {createBottomTabNavigator} from 'react-navigation-tabs';
import {Ionicons} from '@expo/vector-icons';
import {createAppContainer, createSwitchNavigator} from 'react-navigation';
import {createStackNavigator} from 'react-navigation-stack';
import newPassScreen from './screens/newPassScreen';
import BaseScreen from './screens/BaseScreen';
import LoadingScreen from './screens/LoadingScreen';
import RegisterScreen from './screens/RegisterScreen';
import LoginScreen from './screens/LoginScreen';
import DrawerNavigator from './screens/Drawer/DrawerNavigator';
import HomeScreen from './screens/HomeScreen';
import NotificationScreen from './screens/NotificationScreen';
import MessageScreen from './screens/MessageScreen';
import helder from './screens/companies/helder'
import {decode, encode} from 'base-64'
if (!global.btoa) { global.btoa = encode }
if (!global.atob) { global.atob = decode }
const AppContainer = createStackNavigator(
{
default: createBottomTabNavigator (
{
Home: {
screen: HomeScreen,
navigationOptions: {
tabBarIcon: ({ tintColor }) => <Ionicons name='ios-home' size={24} color={tintColor}/>
}
},
Message: {
screen: MessageScreen,
navigationOptions: {
tabBarIcon: ({ tintColor }) => <Ionicons name='ios-chatboxes' size={24} color={tintColor}/>
}
},
Notification: {
screen: NotificationScreen,
navigationOptions: {
tabBarIcon: ({ tintColor }) => <Ionicons name='ios-notifications' size={24} color={tintColor}/>
}
},
Profile: {
screen: DrawerNavigator,
navigationOptions: {
tabBarIcon: ({ tintColor }) => <Ionicons name='ios-person' size={24} color={tintColor}/>
}
},
},
{
defaultNavigationOptions:{
tabBarOnPress: ({navigation, defaultHandler}) => {
if (navigation.state.key === 'Post'){
navigation.navigate('postModal')
} else {
defaultHandler()
}
}
},
tabBarOptions:{
activeTintColor: 'orange',
inactiveTintColor: 'black',
showLabel: false
}
}
),
postModal:{
screen: HomeScreen
}
},
{
mode: 'modal',
headerMode: 'none'
}
)
const AuthStack = createStackNavigator({
Base: BaseScreen,
Login: LoginScreen,
Register: RegisterScreen,
Password: newPassScreen
}, {
initialRouteName:''
}
)
export default createAppContainer(
createSwitchNavigator(
{
Loading: LoadingScreen,
App: AppContainer,
Auth: AuthStack
},
{
initialRouteName: 'Loading'
}
)
)
Не могли бы вы мне помочь?