【发布时间】:2020-01-20 06:23:06
【问题描述】:
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 />;
}
}
学生模块或目录的“index.js”
const App = createStackNavigator(
{
Dashboard: { screen: Dashboard},
Profile: { screen: Profile },
},
);
export default createAppContainer(App);
当我单击不知道如何实现的注销按钮时,我想从学生仪表板或个人资料屏幕移动到登录屏幕。
【问题讨论】:
-
你试过
this.props.navigation('Login')onpress 注销按钮吗? -
是的,已经尝试过了
标签: react-native react-redux react-router react-native-android react-native-navigation