将Modal的可见性prop设置为false会隐藏React Native中的其他组件

时间:2017-10-12 07:43:20

标签: react-native

我的组件结构如下:

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

每当我将Modal的可见性状态设置为false时,模态就会消失,但我的<Navigation/>组件也会消失。如果没有拆卸,它就会显得黯然失色。我已经将<Navigation/>替换为其他类型的导航组件,它也做了同样的事情。当我在屏幕上放置多个<Navigations/>时,每次执行this.setState({modalVisible: false})时,它会隐藏一个导航,然后当我再次将状态设置为false时隐藏另一个导航;一次一个地将它们从屏幕上弹出。

此Modal功能之前没有此错误。我已经更改了应用程序中的其他内容,但modalVisible状态的指令太明显了,不会出错。我只将它传递给<Modal/>支柱的visible,就是这样,其他地方都没有。

有人可以说明为什么会这样吗?!

1 个答案:

答案 0 :(得分:0)

事实证明,解决方案是将模态定位在每个其他组件之上:

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

这样做可以防止<Navigation/><Modal/>一起消失。然而,背后的原因对我来说仍然是一个谜。所以如果有人对此有解释,请赐教我或我们。我发现很难相信这个&#34;修复&#34;以前并没有打败别人。

P.S。 Pun绝对有意。