0

我正在创建一个使用MaterialBottomTabBar的应用程序,并且在主屏幕中我有一个应该打开<Modal>.

在调查了很长一段时间后,我发现在使用标签栏时我无法呈现模式。我试图将模式放在我所有的标签栏屏幕中(没有任何成功)。然后将模态移到另一个不包含在选项卡栏中的屏幕上,模态工作得非常好。

export default function Home({ route, navigation }){
  const [modal, setModal] = useState(false)

  return(
    <View style={styles.container}>
          
      <Modal visible={modal} transparent={true}>
        <View style={{height: "100%", width: "80%", backgroundColor: "blue"}}>
          <Text>TIFMNASIFAMNFISAMFIAOFMSAOFMAFOPSAMF</Text>
        </View>
      </Modal>

      <TouchableOpacity style={styles.addNewButton} onPress={() => setModal(true)}>
        <Text style={styles.addNewButtonText}>+</Text>
      </TouchableOpacity>
    </View>
  )
}

如您所见,我正在使用 React Native HooksuseState(false)并在 Modal 中引用它。但是每当我点击<TouchableOpacity>模态时,都不会出现。

笔记!如果我更换模态将呈现

<Modal visible={modal} transparent={true}>

<Modal visible={true} transparent={true}>

但是会立即运行,这在我的情况下不是一个选项。您知道如何在屏幕内运行此模式吗?

4

0 回答 0