мое приложение должно иметь экран входа в систему с Google, поэтому при входе в систему оно переходит на экран меню.
, чтобы не возвращаться к экрану входа в систему при нажатии кнопки «Назад» после перехода кэкран меню после аутентификации.Я разделил стеки один для входа в систему и один для других экранов
в App.js:
const AuthStack = createStackNavigator({
LoginSplashScreen: LoginSplashScreen
});
const AppStack = createStackNavigator({
MenuScreen:MenuScreen,
DetailsScreen: DetailsScreen,
PhotoScreen: PhotoScreen,
DocumentScreen: DocumentScreen,
AudioScreen: AudioScreen,
ScheduleScreen: ScheduleScreen,
SettingsScreen: SettingsScreen,
FilesScreen: FilesScreen,
GalleryScreen: GalleryScreen
});
const Root= createAppContainer(createSwitchNavigator(
{
AuthStack:AuthStack,
AppStack:AppStack
},
{
initialRouteName: 'AuthStack',
}
));
export default class App extends React.Component {
render() {
return (
<Root/>
)
}
}
, поэтому в LoginSplashScreen после аутентификации я использовал этот код для навигации:
this.props.navigation.navigate('AppStack', {
signedIn: true,
name: result.user.name,
photoUrl: result.user.photoUrl
});
навигация работает отлично, но параметры 'name', 'SignIn', 'photoUrl' фактически не передаются при предупреждении
Alert.alert('',JSON.stringify(this.props.navigation.state.params))
на экране меню (второйстек), он пуст
что я делаю не так?
почему мои параметры не передаются?потому что мне может понадобиться навигация по другому ящику.
Есть ли способ установить глобальные параметры для всех экранов в приложении?
Есть лилучший способ избежать нажатия на экран меню и не получить экран входа в систему?
РЕДАКТИРОВАТЬ:
Мне удалось решить эту конкретную проблему с установкой глобальнойпараметр с:
global.param= result.param;
, но мне все еще нужен ответ для перехода между 2 отдельными стеками