React native 在react native中的模式中嵌入另一个导航器

React native 在react native中的模式中嵌入另一个导航器,react-native,react-navigation,react-modal,React Native,React Navigation,React Modal,我已经创建了一个模式,使用它显示组件a(在我的例子中是“购物车”)(具有多个子组件等等) 此模式最多可打开一半屏幕,而应用程序的其他内容在其余部分的覆盖层后面可见。然而,我的要求是,在模式内点击一个按钮,我希望另一个屏幕(B)被推到a上(仅在模式内,而不是整个应用程序) 我如何才能实现这个流程。目前,推送的新屏幕覆盖整个屏幕,而不仅仅是模式屏幕 class CartModal extends Component { state = { isVisible: false, };

我已经创建了一个模式,使用它显示组件a(在我的例子中是“购物车”)(具有多个子组件等等)

此模式最多可打开一半屏幕,而应用程序的其他内容在其余部分的覆盖层后面可见。然而,我的要求是,在模式内点击一个按钮,我希望另一个屏幕(B)被推到a上(仅在模式内,而不是整个应用程序)

我如何才能实现这个流程。目前,推送的新屏幕覆盖整个屏幕,而不仅仅是模式屏幕

class CartModal extends Component {
  state = {
    isVisible: false,
  };

  onCartDismiss = () => {
    const { onCartDismiss } = this.props;
    onCartDismiss();
  };

  render() {
    const { navigation, isVisible, onCartDismiss } = this.props;
    return (
      <Modal
        isVisible={isVisible}
        onBackdropPress={onCartDismiss}
        style={CartStyles.cartModal}
        onSwipeComplete={this.onCartDismiss}
        swipeDirection="down"
        swipeThreshold={50}
        propagateSwipe
      >
        <View
          style={styles.container}
        >
          <Cart navigation={this.props.navigation} onCartDismiss={this.onCartDismiss} />
        </View>
      </Modal>
    );
  }
}
类扩展组件{
状态={
isVisible:false,
};
oncartdessive=()=>{
const{oncartdessive}=this.props;
oncartdessive();
};
render(){
const{navigation,isVisible,oncartdesmisse}=this.props;
返回(
);
}
}