не могу перейти на другой экран реагировать родной - PullRequest
0 голосов
/ 26 февраля 2019

Я использую реагировать нативно с axios.Когда я нажимаю кнопку входа в систему, он должен перенаправить на главный экран, но он не работает.когда я заменю его на Privatescreen ();с предупреждением («успешно авторизован».);он успешно вошел в MSG, но с privatescreen ();сообщение «Неверное имя пользователя или пароль».вот мой код для handleLogin в login.js:

import React, { Component } from 'react';
import axios  from 'axios';
import PrivateScreen from './getonAuthscreen';
    handleLogin = () => {
          const{ username, password } = this.state;
          if(username && password){
            axios
            .post('http://192.168.X.X:3000/user/login', {
              username,
              password,
            })
            .then(response =>{
               PrivateScreen();
        }).catch (()=>{
          alert('Invalid Username or password.');
        });
        // return alert('you may pass');
        }else{
        alert('Please check username and password correctly.');   } };

вот код для homescreen.js:

import React from 'react';
import {
  View,Text
} from 'react-native';



class HomeScreen extends React.Component {
  static navigationOptions = {
    title: 'Welcome to the app!',
  };

  render() {
    return (
      <View>
      <Text>TESTSTST</Text>
      </View>
    );
  }


}
export default HomeScreen;

и код для getonAuthscreen.js

   import { createSwitchNavigator, createStackNavigator, createAppContainer } from 'react-navigation';
import HomeScreen from './HomeScreen';

// Implementation of HomeScreen, OtherScreen, SignInScreen, AuthLoadingScreen
// goes here.

const startSingleScreenApp = createStackNavigator(
  { HomeScreen: HomeScreen,
   }
   );
//const AuthStack = createStackNavigator({ SignIn: SignInScreen });

export default createAppContainer(createSwitchNavigator(
  {
    App: startSingleScreenApp,
  },

));

1 Ответ

0 голосов
/ 26 февраля 2019

Попытайтесь проследить поток аутентификации из реакции-навигации. Пример


export default createAppContainer(createSwitchNavigator(
  {
    App: AppStackNavigator,
    Auth: AuthStack,
  },
  {
    initialRouteName: 'Auth',
  },
));

this.props.navigation.navigate(userToken ? 'App' : 'Auth');

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