У меня есть RootNav и MainNav, в моем RootNav у меня есть экран входа и регистрации. Когда пользователь регистрируется через firebase с электронной почтой и паролем, он автоматически регистрирует их и переходит в MainNav. я хочу иметь возможность отправлять их на несколько экранов после их регистрации через firebase, например NameScreen и Age Screen, чтобы пользователь вводил свое имя, чтобы я мог добавить его в базу данных firebase.
Я использую stackNavigator.
App.js
import React from 'react';
import {Stylesheet, View, Text} from 'react-native';
import {AppLoading, Asset} from 'expo';
import * as firebase from 'firebase';
import RootNav from './navigation/RootNav';
import MainNav from './navigation/MainNav';
// SplashScreen
import SplashScreen from './screens/SplashScreen'
const firebaseConfig = {
apiKey: "ProjectKey",
authDomain: "projectDomain.com",
databaseURL: "https://URl.com",
pojectID: "pojectID",
}
export default class App extends React.Component{
constructor(props){
super(props);
this.state = {
isLoadingComplete: false,
isAuthenticatingReady: false,
isAuthenticated: false,
};
SplashScreen.load(v => this.setState({isLoadingComplete: true}));
if (!firebase.apps.length) {
firebase.initializeApp(firebaseConfig);
}
firebase.auth().onAuthStateChanged(this.onAuthStateChanged);
}
onAuthStateChanged = (user) =>{
this.setState({isAuthenticatingReady: true});
this.setState({isAuthenticated: !!user});
}
render(){
return (
<View style={{flex: 1,}}>
{
(this.state.isLoadingComplete) ? (this.state.isAuthenticated) ?
<MainNav /> : <RootNav /> : <SplashScreen />
}
</View>
)
}
}
MainNav.js
import React from 'react';
import { createStackNavigator,} from 'react-navigation';
import MainScreen from './../screens/MainScreen';
import Check from './../navigation/Check';
const MainNav = createStackNavigator(
{
Check: {screen: Check},
Home: { screen: MainScreen },
},
{
navigationOptions: () => ({
header: null,
})
}
);
export default MainNav;
RootNav.js
import React from 'react';
import { createStackNavigator,} from 'react-navigation';
import LoginScreen from './../screens/auth/LoginScreen';
import SignUpScreen from './../screens/auth/SignUpScreen';
import addNameScreen from '../screens/auth/addNameScreen';
import addAgeScreen from '../screens/auth/addAgeScreen';
const RootNav = createStackNavigator(
{
Login: { screen: LoginScreen },
SignUp: { screen: SignUpScreen },
addName: {screen: addNameScreen},
addAge: {screen: addAgeScreen},
},
{
navigationOptions: () => ({
header: null,
})
}
);
export default RootNav;
Как бы я мог это сделать? Любое указание поможет мне, пожалуйста, спасибо.