Переход от одного стека к другому - PullRequest
0 голосов
/ 19 мая 2019

У меня есть вложенная структура навигации.Экран входа в систему, который должен перейти к экрану профиля, а профиль должен перейти к папке «Входящие».Вот так, Войти -> Профиль -> Входящие.

Вход

import React, {Component} from 'react';
import Profile from "../Profile";

class AppSignIn extends React.Component{

_doSignIn(){
 this.props.navigation.navigate('Profile')
}

render(){
  return(
     <View>
      <TouchableHighlight onPress={this._doSignIn.bind(this)}>
          <Text>Go to Profile</Text>
      </TouchableHighlight>
     </View>
    )
 }
}

const AppSignInNav = createStackNavigator(
 {
    AppSignIn:{
    screen : AppSignIn
  },
  Profile:{
    screen:Profile
  }
 });

 export default createAppContainer(AppSignInNav);

Профиль

import React, {Component} from 'react';
import Inbox from "../Inbox";

class Profile extends React.Component{

_goToInbox(){
 this.props.navigation.navigate('Inbox')
}

render(){
  return(
     <View>
      <TouchableHighlight onPress={this._goToInbox.bind(this)}>
          <Text>Go to Inbox</Text>
      </TouchableHighlight>
     </View>
    )
 }
}

const ProfileNav = createStackNavigator(
 {
    Profile:{
    screen : Profile
  },
  Inbox:{
    screen : Inbox
  }
 });

 export default createAppContainer(ProfileNav);

Как только я получаю эту ошибку в результате попытки перейти от createStackNavigator к другому.The component for route 'Profile' must be a React component...Как я могу экспортировать Профиль в качестве компонента React, но при этом перейти к Входящие .?

1 Ответ

0 голосов
/ 19 мая 2019

Может быть только один appContainer для навигации.Вы пытаетесь создать контейнер приложения дважды, используя createAppContainer.

. Вы можете использовать AppSignInNav в качестве контейнера приложения и экспортировать ProfileNav как обычный StackNavigator.

См. эта ссылка для получения подробной информации о createAppContainer и его использовании.

...