react-native - 在 React Native 中的每个组件前面创建一个 Modal
问题描述
我想让 Modal 出现在所有其他组件的前面。根将是 App.js,它使用 react-navigation 在内部创建一个路由器,其中包含一个名为 Book.js 的选项卡。在 Book.js 中,它将显示 BookItem.js 的列表我想要的是当我单击每个 BookItem 时,模式将显示并覆盖包括路由器底部标签栏在内的所有内容,但使用我提供的代码,其中 modalVisible = false,它将显示以下内容:
应用程序.js
export default function App() {
return (
<View style={styles.container}>
<Router />
</View>
);
}
路由器.js
export default createAppContainer(createBottomTabNavigator);
书籍.js
const createBookList = (data) => {
setBooklist(data.datas.map(item => (
<BookItem key={item.bid} data={item} />
)))
};
return (
<View style={styles.search}>
<ScrollView>
{booklist}
</ScrollView>
</View>
);
Bookitem.js
return (
<View>
<Modal isVisible={modalVisible}>
<View>
<Text>Modal</Text>
<Button title="Hide modal" onPress={() => { setmModalVisible(false) }} />
</View>
</Modal>
<TouchableOpacity onPress={() => { setmModalVisible(true) }}>
<View style={styles.container}>
{ bookdetail }
</View>
</TouchableOpacity>
</View>
解决方案
您可以使用反应导航模式屏幕。
推荐阅读
- php - 在 Wordpress Learndash LMS 中转换日期格式
- ffmpeg - 使用 list.txt 和淡入淡出寻找 ffmpeg 和 concat 的示例
- microservices - Protobuf3:扩展类型支持
- mysql - Lag() 函数在 mysql workbench 8.0 中不起作用
- javascript - 使用 webcraper 获取延迟加载的 img src 的最佳方法是什么?
- r - 当分配给 r 中的公式时,句号有什么作用?在 lm 的参数中
- python - 将 pandas timedelta 转换为以秒为单位显示
- javascript - 给html添加一个属性
- python - 如果数组中的任何元素重复,则从多维数组中删除整个子数组
- react-native - react native 出错。不变违规:本机模块不能为空