我有一个标签导航器嵌套在Redux的堆栈导航器中,具有以下结构:

  • Stack Nav:

  • Tab Nav

  • 添加程序屏幕

  • Tab Nav

  • 主屏幕

我想要实现的是导航到主屏幕中的添加程序屏幕,Tab Nav是否应该访问Stack Nav中定义的两个路径?

虽然我看到的唯一途径是Tab Nav,我的代码如下:

export const AppNavigator = StackNavigator({
    Main: {screen: tabWithNavigator,
        navigationOptions: {
            title: 'Home'},
    AddProgram: { 
        screen: AddProgramScreen,
        navigationOptions: ({navigation}) => ({
            title: 'Add Program'
         }) 
        },
    }
});

class AppWithNavigationState extends React.Component {
    render() {
        const { dispatch, nav } = this.props;
        return (
            <AppNavigator
                navigation={addNavigationHelpers({
                    dispatch,
                    state: nav,
                    addListener,
                })}
            />
        );
    }
}

const mapStateToProps = state => ({
    nav: state.stackNav
});

export default connect(mapStateToProps)(AppWithNavigationState);

tabWithNavigator几乎只用TabNavigator而不是StackNavigator实现 . 当我在Console Nav组件的console.log中的this.props.navigation时,只有:

"state": Object {
  "key": "id-1324343445-2",
  "routeName": "Main",
}

我错过了什么吗?