我试图从位于另一个模态中的Modal
打开TouchHighlight
。基本上应该发生的是,父主TouchHighlight
中的Modal
应该在其上打开另一个辅助Modal
,而不关闭主Modal
。
但我收到以下错误。
Warning: Attempt to present <RCTModalHostViewController: 0x7fc408fb2460> on <RCTWrapperViewController: 0x7fc40b2c1ac0> which is already presenting (null)
如何正确地做到这一点?
答案 0 :(得分:15)
好的找到了方法。辅助Modal
代码应位于主Modal
内。这解决了这个问题。
<Modal
animationType='fade'
transparent={true}
visible={this.state.modalVisibility}>
<Modal
animationType='fade'
transparent={true}
visible={this.state.secondaryModalVisibility}>
<View style={[styles.modalContainer, modalBackgroundStyle]}>
<View style={styles.innerContainer}>
{this.secondaryContent()}
</View>
</View>
</Modal>
<View style={[styles.modalContainer, modalBackgroundStyle]}>
<View style={styles.innerContainer}>
{this.mainContent()}
</View>
</View>
</Modal>
答案 1 :(得分:0)
我在一个项目中遇到了类似的问题,因为它变得越来越大,在越来越多的屏幕和容器上创建了更多的模态,因此我创建了 this package 来动态控制整个应用程序中的所有模态>