我正在创建一个使用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}>
但是会立即运行,这在我的情况下不是一个选项。您知道如何在屏幕内运行此模式吗?