React native 如何从一个堆栈或模块导航到另一个堆栈或模块
Appnavigation.jsReact 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
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);