
- React Native 教程
- React Native - 主頁
- 核心概念
- React Native - 概述
- React Native - 環境設定
- React Native - 應用
- React Native - 狀態
- React Native - 屬性
- React Native - 樣式
- React Native - flexbox
- React Native - ListView
- React Native - 文字輸入
- React Native - ScrollView
- React Native - 影像
- React Native - HTTP
- React Native - 按鈕
- React Native - 動畫
- React Native - 除錯
- React Native - 路由器
- React Native - 執行 iOS
- React Native - 執行 Android
- 元件和 API
- React Native - View
- React Native - WebView
- React Native - 模態
- React Native - ActivityIndicator
- React Native - Picker
- React Native - 狀態列
- React Native - 開關
- React Native - 文字
- React Native - 警報
- React Native - 地理位置
- React Native - AsyncStorage
- React Native 有用資源
- React Native - 快速指南
- React Native - 有用資源
- React Native - 討論
React Native - 模態
在本章中,我們將向你展示如何在 React Native 中使用模態元件。
我們現在建立一個新檔案:ModalExample.js
我們將在 ModalExample 中放置邏輯。我們可以透過執行 toggleModal 來更新初始狀態。
透過執行 toggleModal 更新初始狀態後,會將 visible 屬性設定為模態。此屬性將在狀態更改時更新。
onRequestClose 是 Android 裝置必需的。
App.js
import React, { Component } from 'react' import WebViewExample from './modal_example.js' const Home = () => { return ( <WebViewExample/> ) } export default Home;
modal_example.js
import React, { Component } from 'react'; import { Modal, Text, TouchableHighlight, View, StyleSheet} from 'react-native' class ModalExample extends Component { state = { modalVisible: false, } toggleModal(visible) { this.setState({ modalVisible: visible }); } render() { return ( <View style = {styles.container}> <Modal animationType = {"slide"} transparent = {false} visible = {this.state.modalVisible} onRequestClose = {() => { console.log("Modal has been closed.") } }> <View style = {styles.modal}> <Text style = {styles.text}>Modal is open!</Text> <TouchableHighlight onPress = {() => { this.toggleModal(!this.state.modalVisible)}}> <Text style = {styles.text}>Close Modal</Text> </TouchableHighlight> </View> </Modal> <TouchableHighlight onPress = {() => {this.toggleModal(true)}}> <Text style = {styles.text}>Open Modal</Text> </TouchableHighlight> </View> ) } } export default ModalExample const styles = StyleSheet.create ({ container: { alignItems: 'center', backgroundColor: '#ede3f2', padding: 100 }, modal: { flex: 1, alignItems: 'center', backgroundColor: '#f7021a', padding: 100 }, text: { color: '#3f2949', marginTop: 10 } })
我們的起始螢幕將如下所示 −

如果我們單擊該按鈕,模態會開啟。

廣告