我目前正在使用NavigatorIOS来处理我的应用中的导航。虽然我遇到过一种情况,我需要提供一个Modal,它也需要有自己的导航堆栈。
这部分有效,直到你需要在模态中实际推送一个新组件(使用嵌套的NavigatorIOS)。推送新组件会导致:
有没有人设法让这种嵌套的NavigatorIOS工作?
代码段:
主要组件render()方法:
render() {
return <NavigatorIOS
style={styles.navigationContainer}
barTintColor={Colors.primaryColor}
titleTextColor={Colors.white}
navigationBarHidden={true}
initialRoute=
{{
title: "Main View",
component: MainComponent,
backButtonTitle: 'Back',
}}
/>;
};
在MainComponent内部,一个Modal在render方法中带有一个嵌套的NavigatorIOS,如下所示:
<Modal
animated={this.state.animated}
visible={this.state.modalVisible}>
<NavigatorIOS
style={{flex:1}}
initialRoute=
{{
title: "Nested Navigator",
component: NestedNavigator,
backButtonTitle: 'Back',
}}
/>
</Modal>
然后在NestedNavigator组件内部,如果您尝试将任何新组件推送到嵌套堆栈上,您将收到上面发布的错误。
虽然如果你忽略错误,你可以看到新组件实际上被推到了堆栈上......