React Native開發之——元件WebView
前言
在開發Android的時候,一般我們會有一些載入網頁的需求,或者執行一些JavaScript,我們都知道在Android中實現這個功能的控制元件是WebView,在ReactNative中也有實現此類需求額的元件,它的名字也是WebView。那麼今天的這篇文章就來詳細說說在ReactNative WebView的使用。
元件WebView
屬性和方法
主要屬性
- source:在 WebView 中載入一段靜態的 html 程式碼或是一個 url(還可以附帶一些 header 選項)
- automaticallyAdjustContentInsets:設定是否自動調整內容。格式:bool
- contentInset:設定內容所佔的尺寸大小。格式:{top:number,left:number,bottom:number,right:number}
- injectJavaScript:當網頁載入之前注入一段 js 程式碼。其值是字串形式。
- startInLoadingState:是否開啟頁面載入的狀態,其值為 true 或者 false。
-bounces(僅iOS):回彈特性。預設為 true。如果設定為 false,則內容拉到底部或者頭部都不回彈。 - scalesPageToFit(僅iOS):用於設定網頁是否縮放自適應到整個螢幕檢視,以及使用者是否可以改變縮放頁面。
- scrollEnabled(僅iOS):用於設定是否開啟頁面滾動。
- domStorageEnabled(僅Android):用於控制是否開啟 DOM Storage(儲存)。
- javaScriptEnabled(僅Android):是否開啟 JavaScript,在 iOS 中的 WebView 是預設開啟的。
主要方法
- onNavigationStateChange:當導航狀態發生變化的時候呼叫。
- onLoadStart:當網頁開始載入的時候呼叫。
- onError:當網頁載入失敗的時候呼叫。
- onLoad:當網頁載入結束的時候呼叫。
- onLoadEnd:當網頁載入結束呼叫,不管是成功還是失敗。
- renderLoading:WebView元件正在渲染頁面時觸發的函式,只有 startInLoadingState 為 true 時該函式才起作用。
- renderError:監聽渲染頁面出錯的函式。
- onShouldStartLoadWithRequest(僅iOS):該方法允許攔截 WebView 載入的 URL 地址,進行自定義處理。該方法通過返回 true 或者 falase 來決定是否繼續載入該攔截到請求。
程式碼例項
import React, {Component} from 'react';
import
{
StyleSheet,
View,
Dimensions,
WebView
} from 'react-native';
//獲取裝置的寬度和高度
var
{
height: deviceHeight,
width: deviceWidth
} = Dimensions.get('window');
type Props = {};
export default class App extends Component<Props>
{
render()
{
return
(
<View style={styles.container}>
<WebView
source={{uri: 'http://www.baidu.com',method: 'POST'}}
style={{width: deviceWidth, height: deviceHeight}}
onLoadEnd={this.onLoadEnd}>
</WebView>
</View>
);
}
}
const styles = StyleSheet.create({
container: {flex: 1,},
});
效果
其他
相關推薦
React Native開發之——元件WebView
前言在開發Android的時候,一般我們會有一些載入網頁的需求,或者執行一些JavaScript,我們都知道在Android中實現這個功能的控制元件是WebView,在ReactNative中也有實現此類需求額的元件,它的名字也是WebView。那麼今天的這篇文章就來詳細說說
React Native 筆記之元件
React Native的元件 什麼是React Native 元件? React Native 都有哪些元件? 建立元件的三種方式 [元件的生命週期](https://react.docschina.org/docs/react-compone
react-native開發之專案連線夜神模擬器步驟(window)
這裡是window為準, 因為mac電腦 夜神模擬器暫時沒有搖一搖功能 連線夜神模擬器 adb.exe connect 127.0.0.1:62001 返回 connected to 127.0.0.1:62001 說明 連線成功!!!! cmd 開啟命令編輯器 進入專案目錄 win
React Native 開發之 IDE 選型和配置
原文連結: http://www.infoq.com/cn/articles/react-native-ide?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&
React-Native開發之BUG 總結
本部落格將詳細記錄在React-Native開發中所遇到的各種問題以及其解決方法。個人感覺,React-Native開發初期真的是一腳一個大坑,分分鐘被虐趴下。不說了,直接上Bug1、在Windows下
React Native開發之快速入門React
前言 這篇文章,是接著之前的一篇入門文章寫的(雖然已經過去大半年了),本文的受眾仍然是React小白,熟悉React的同學可以不看了。上一篇文章連結: 上一篇文章主要介紹了JS的語言基礎和React的component生命週期。本文會接著上一篇文章,繼續
React Native開發之IDE(Atom+Nuclide)安裝,執行,除錯
歡迎Follow我的Github,部落格會同步在Github的Blog倉庫更新。也可以關注CSDN部落格的React Native分類 前言 工欲善其事,必先利其器 好像在哪聽到一句話,”滿級程式設計師不需要IDE,不需要自動補全,不需要靜
React Native開發之路(一)
很久以前,就是接觸過RN,搭建了RN的開發環境,弄了個Hello Word的demo出來,就沒有再去學習了,因為工作用不上,自己的CSS和JS都是不會,所以提不起興趣來。 最近一個機緣,一個哥們兒拉我去做專案,APP不用原生開發,用RN來寫兩端的App。朋友叫
React—Native開發之 Could not connect to development server(Android)解決方法
寫在最前面: 本來,我是有一篇部落格 RN開發之BUG 總結(持續更新) 來專門總結自己在React-Native開發中遇到的各種BUG 以及其解決辦法的。但是,由於 Could not conn
React-Native開發八 react-navigation之自定義元件Counter
1 前言 我們知道RN中任何介面元素都可以看成元件,小到一個按鈕,大到一個頁面。RN開發就是不停的開發元件和使用元件,並讓他們協同工作,這樣高效率協同的執行起來,這樣就能完成一個APP的功能了 在實際的開發中,我們經常需要自定義一些滿足我們專案開發的自定義元件,類似於Android
【React Native開發】React Native控制元件之Image元件講解與美團首頁頂部效果例項(10)
轉載請標明出處:(一)前言 【好訊息】個人網站已經上線執行,後面部落格以及技術乾貨等精彩文章會同步更新,請大家關注收藏:http://www.lcode.org 今天我們一起來看一下Image元件的相關使用講解以及模仿實現一下美團首頁頂部分類的效果。具體環境搭建以及相關配置的請檢視之前
【React Native開發】React Native控制元件之TextInput元件講解與QQ登入介面實現(11)
轉載請標明出處:(一)前言 【好訊息】個人網站已經上線執行,後面部落格以及技術乾貨等精彩文章會同步更新,請大家關注收藏:http://www.lcode.org 今天我們一起來看一下文字輸入框TextInput元件的相關使用講解以及模仿實現一下QQ登入介面的效果。具體環境搭建以及相關配置
【React Native開發】React Native控制元件之ListView元件講解以及最齊全例項(19)
轉載請標明出處:(一)前言 【好訊息】個人網站已經上線執行,後面部落格以及技術乾貨等精彩文章會同步更新,請大家關注收藏:http://www.lcode.org今天我們一起來看一下ListView元件的使用詳解以及具體事例剛建立的React Native技術交流3群(496508742),Rea
【React Native開發】React Native控制元件之View檢視講解(7)
轉載請標明出處:(一)前言 【好訊息】個人網站已經上線執行,後面部落格以及技術乾貨等精彩文章會同步更新,請大家關注收藏:http://www.lcode.org 現在幾講我們對於R
【React Native開發】React Native控制元件之RefreshControl元件詳解(21)
轉載請標明出處:(一)前言 【好訊息】個人網站已經上線執行,後面部落格以及技術乾貨等精彩文章會同步更新,請大家關注收藏:http://www.lcode.org 今天我們一起來看一下RefreshControl下拉重新整理元件講解以及使用例項剛建立的React Native技術交
【React Native開發】React Native控制元件之DrawerLayoutAndroid抽屜導航切換元件講解(13)
轉載請標明出處:(一)前言 【好訊息】個人網站已經上線執行,後面部落格以及技術乾貨等精彩文章會同步更新,請大家關注收藏:http://www.lcode.org 今天我們一起來看一
【React Native開發】React Native控制元件之Switch開關與Picker選擇器元件講解以及使用(16)
轉載請標明出處:(一)前言 【好訊息】個人網站已經上線執行,後面部落格以及技術乾貨等精彩文章會同步更新,請大家關注收藏:http://www.lcode.org 今天我們一起來看
(React-Native 學習之七) Rn混合開發之--Activity直接引用React native元件
簡介: Activity 和 ReactNative 混合開發時,有時我們需要直接引入已經寫好的reactNative js元件。此時就需要我們對Activity如何引用ReactNative進行了解。 本篇介紹了Activity如何直接應用一個寫好的Rea
【React Native開發】React Native控件之ProgressBarAndroid進度條解說(12)
ice 發現 來講 top 文章 func dev all ios 轉載請標明出處:http://blog.csdn.net/developer_jiangqq/article/details/50596367本文出自:【江清清的博客】(一)前言 【好消息】
React-Native開發九 react-navigation之Android的打包與釋出
1前言 RN的開發中正式釋出前需要打包與簽名,然後才能上架各家應用市場。打包需要將js與圖片資原始檔打包進apk檔案中,生成index.android.bundle與index.android.bundle.meta檔案。下面介紹RN開發中打包APK的主要步驟,IOS沒研究過,不再本