Изменить конкретную вкладку после аутентификации - реагировать на навигацию - PullRequest
0 голосов
/ 17 октября 2018

Я хотел бы спросить, возможно ли это, в основном, чего я хочу добиться, так это изменить экран на той же вкладке после успешной аутентификации:

Это мой BottomTabNavigator, который имеет 5 вкладок.После входа в систему Login Tab я хочу изменить экран той же вкладки на экран профиля.Как мне этого добиться?

const MainTabNavigator = createBottomTabNavigator(
  {
    Home: SearchNavigator,
    Appointments: AppointmentsNavigator,
    Doctors: DoctorsNavigator,
    Login: LoginNavigator,
    Notifications: NotificationsNavigator
  },
  {
    tabBarOptions: {
      showIcon: true,
      activeTintColor: PURPLE_COLOR,
      inactiveTintColor: DARK_GRAY_COLOR
    }
  }
)

1 Ответ

0 голосов
/ 17 октября 2018

Вы можете использовать navigation.navigate prop в вашем компоненте после успешного входа в систему.

Пример :

class Login extends Component {
  handleLogIn = () => {
    fetch('http://some-login-url', 'POST')
      .then(r => r.json())
      .then(() => this.props.navigation.navigate('Home'));
  }

  render() {
    return (
      <TouchableOpacity onPress={this.handleLogIn}>
        <Text>Log In</Text>
      </TouchableOpacity>
    );
  }
}

Однако, используя подход TabNavigatorне просто для потока аутентификации.Попробуйте использовать SwitchNavigator в сочетании с TabNavigator, как описано в официальных документах .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...