Я предполагаю, что вы используете React Navigation
для маршрутизации.Вы можете передать второй аргумент в createStackNavigator
, который является конфигурацией для Stack .
. Если вы передаете объект в стек, вы можете определить, какой экран вам нужен.Итак, ваш код будет выглядеть так:
const LoginStack = createStackNavigator({
Login: LoginScreen,
Home: HomeStack,
},
{
initialRouteName: 'Login',
});
И тогда, если вы используете кнопку, как вы используете сейчас, она должна работать просто отлично.
Так что в вашем случае вам нужно изменить свой App.js
, чтобы он выглядел примерно так:
export default App extends Component {
componentDidMount = () => {
this.setState({
isLoadingComplete: true
})
}
render() {
// This is the loading screen?
if (!this.state.isLoadingComplete && !this.props.skipLoadingScreen) {
return (
<AppLoading
startAsync={this._loadResourcesAsync}
onError={this._handleLoadingError}
onFinish={this._handleFinishLoading}
/>
) else {
return <LoginStack />
}
Как только ваш LoadingIsComplete
станет истинным, он выдаст LoginStack