将模态的可见性属性设置为 false 会隐藏 React Native 中的其他组件



我有一个结构如下的组件:

<View>
  <Navigation/>
  <Title/>
  <FlatList/>
  <Modal/>
</View>

每次我将模态的可见性状态设置为 false 时,模态都会按预期消失,但我的<Navigation/>组件也会消失。它从字面上噗噗地消失而不卸载。我也用其他类型的导航组件替换了<Navigation/>,它做了同样的事情。当我将多个<Navigations/>放在屏幕上时,每次我这样做时this.setState({modalVisible: false})它都会隐藏一个导航,然后在我再次将状态设置为 false 时隐藏另一个导航;一次将它们从屏幕上弹出一个。

这个

模态功能以前没有这个错误。我已经更改了应用程序中的其他内容,但modalVisible状态的指令太清楚了,不会出错。我只把它传递给<Modal/>,因为它的visible道具,仅此而已,没有其他地方。

有人可以提供为什么会发生这种情况的原因吗?!

因此,事实证明,解决方案是将模态定位在所有其他组件之上:

<View>
  <Modal/>
  <Navigation/>
  <Title/>
  <FlatList/>
</View>

这样做可以防止<Navigation/><Modal/>一起消失。然而,这背后的原因对我来说仍然是一个谜。因此,如果有人对此有解释,请启发我或我们。我发现很难相信这种"修复"以前没有胜过其他人。

附言双关语肯定是有意的。

相关内容

  • 没有找到相关文章

最新更新