React native 如何从一个堆栈或模块导航到另一个堆栈或模块

React native 如何从一个堆栈或模块导航到另一个堆栈或模块,react-native,react-redux,react-router,react-native-android,react-native-navigation,React Native,React Redux,React Router,React Native Android,React Native Navigation,Appnavigation.js import { createAppContainer, createSwitchNavigator } from 'react-navigation'; import { createStackNavigator } from "react-navigation-stack"; import Splash from "./components/splace"; import Login from "./components/login"; import Mai

Appnavigation.js

import { createAppContainer, createSwitchNavigator } from 'react-navigation';
import { createStackNavigator } from "react-navigation-stack";
import Splash from "./components/splace";
import Login from "./components/login";
import Main from "./components/Main";

const SplashStack = createStackNavigator({
  Splash: { screen: Splash, navigationOptions: { header: null } }
})

const LoginStack = createStackNavigator({
  Login: { screen: Login, navigationOptions: { header: null } }
})

const MainStack = createStackNavigator({
  Main: { screen: Main, navigationOptions: { header: null } }
});

const AppNavigator = createSwitchNavigator({
  // Splash: SplashStack,
  Login: LoginStack,
  Main: MainStack

})
export default createAppContainer(AppNavigator);
无论何时登录过程完成,它都将导航到“主屏幕”,模块选择过程将在那里完成,它将在该特定目录的索引文件中移动,在那里我有另一个屏幕堆栈

Main.js

class Main extends Component {
  Module = null;
  componentWillMount() {

    switch (this.props.user.userTypeName) {
      case "Student": {
        Module = require("./student").default;
        break;
      }
    }
  }
  render() {
    return <Module />;
  }
}

当我点击注销按钮时,我想从学生仪表板或个人资料屏幕转到登录屏幕,我不知道如何实现它。

你能做一个
控制台。日志(道具)
? 然后您可以看到如何调用导航

您可以尝试
this.props.navigation.navigate('Login')
而不是
this.props.navigation('Login')


当你做一个console.log时,你可能会得到一个“导航”对象,里面有一个“导航”。

你试过
这个.props.navigation('Login')
on按下注销按钮吗?是的,我已经试过了,我试过这两个,但它不会从一个屏幕导航到另一个屏幕。
const App = createStackNavigator(

  {
    Dashboard: { screen: Dashboard},
    Profile: { screen: Profile },
  },
);

export default createAppContainer(App);