首页 > 解决方案 > 在反应原生的模式中嵌入另一个导航器

问题描述

我已经使用react-native-modal创建了一个模式,它显示了一个组件 A(在我的例子中是'Cart')(有多个子组件等等。)

此模式最多可打开一半屏幕,而应用程序的其他内容在其余部分的覆盖层后面可见。但是,我的要求是,在模式内点击按钮时,我希望将另一个屏幕 (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>
    );
  }
}

标签: react-nativereact-navigationreact-modal

解决方案


推荐阅读