反应导航立即返回上一屏幕

时间:2018-11-12 21:03:55

标签: react-native react-navigation react-navigation-stack

尝试使用Redux和Saga将导航添加到React Native应用。它适用于一个屏幕,但是在添加AppNavigator这样的屏幕时,它的行为很奇怪

import HomeScreen from '../screens/fake/HomeScreen';
import LoginScreen from '../screens/fake/LoginScreen';
import SplashScreen from '../screens/fake/SplashScreen';

export const AppNavigator = createStackNavigator({
  Splash: SplashScreen,
  Home: HomeScreen,
  Login: LoginScreen
});

每个屏幕都是这样的控件: 类HomeScreen

 extends React.Component {
  render() {
    return (
      <View>
        <Button
          title="Go to Login"
          onPress={() => this.props.navigation.navigate('Login')}
        />
        <Button
          title="Go to Splash"
          onPress={() => this.props.navigation.navigate('Splash')}
        />
      </View>
    );
  }
};

即仅包含应该导航到另一个屏幕的按钮。确实如此。但是在此之后,事件Navigation/NAVIGATE使用户返回上一页。

第一个事件Navigation/NAVIGATE包含正确的路由密钥。但是第二次出现-Navigation/COMPLETE_TRANSITION(更确切地说:{type: "Navigation/COMPLETE_TRANSITION", key: "StackRouterRoot"})将用户返回到上一个屏幕。

有什么想法吗?

0 个答案:

没有答案