Я создаю приложение, в котором есть AuthStack, и после входа в систему отображается канал, похожий на твиттер. Отсюда у меня есть ящик, а также навигатор вкладок. Я могу легко передавать данные с помощью кнопок onPress на экраны, но у меня возникают проблемы с переходом на экран, например, с помощью вкладки или панели навигации.
Я надеюсь, что я что-то пропустил или слишком усложняю - однако я не могу найти решение без необходимости внедрения Redux ... Кто-нибудь может посоветовать, где я ошибаюсь? ? Есть ли способ установить и получить доступ к набору глобальных параметров для всех Nav?
Ящик Nav
import BottomTabNavigator from "../components/BottomTabNav";
import { SettingsNav } from "../components/ScreensStack";
import { ProfileNav } from '../components/ScreensStack';
import {FollowersNav} from '../components/ScreensStack';
const DrawerNavigator = createDrawerNavigator({
Feed: BottomTabNavigator,
Settings: SettingsNav,
Profile : ProfileNav,
Followers : FollowersNav
},
{
contentComponent: (props) => (
<View style={{flex:1}}>
<SafeAreaView forceInset={{ top: 'always', horizontal: 'never' }}>
<DrawerItems {...props} />
<Button title="Logout"/>
</SafeAreaView>
</View>
),
drawerOpenRoute: 'DrawerOpen',
drawerCloseRoute: 'DrawerClose',
drawerToggleRoute: 'DrawerToggle'
}, {
gesturesEnabled : true
});
const Drawer = createAppContainer(DrawerNavigator);
export default Drawer;
AppStack
const AuthStackNavigation = createStackNavigator({
Splash: {
screen: Splash,
navigationOptions: {
header: null
}
},
Login: {
screen: Login,
navigationOptions: {
header: null
}
},
SignUp: {
screen: SignUp,
navigationOptions: {
header: null
}
},
ResetPW: {
screen: ResetPW,
navigationOptions:{
header: null
}
},
}, {
initialRouteName: "Splash"
})
const App = createSwitchNavigator({
AuthStack : AuthStackNavigation,
FeedDrawer : Drawer
});
export default createAppContainer(App);