使用redux进行React-Navigation - 嵌套在TabNavigator中的StackNavigator中的后退按钮触发两个导航器中的后退操作

nwa*_*les 11 react-native redux react-navigation

我有redux的反应导航设置.我的应用程序包含一个带有登录和内容屏幕的父TabBarNavigator.内容屏幕本身就是一个包含应用程序主导航的Stack Navigator.redux和navigators的所有其他方面都按预期工作,但StackNavigator上的默认后退按钮也会触发它的父TabBarNavigator返回.

这是预期的行为吗?我注意到,如果我在navigationOptions中定义headerLeft,它会按预期工作:

static navigationOptions = ({ navigation }) => {
    return {
      headerLeft: (
        <Button transparent onPress={() => { navigation.goBack(); }}><Text>Back</Text></Button>
      )
    };
  };
Run Code Online (Sandbox Code Playgroud)

Cam有谁解释是什么原因造成的?有没有办法让默认的stackNavigator后退按钮与redux一起使用?

小智 1

也许调度一个动作会更好:

    onPress={() => {
      navigation.dispatch(NavigationActions.navigate({
        routeName: '<screen name here>'
      }));
    }}
Run Code Online (Sandbox Code Playgroud)