react-native-wkwebview-reborn-fchasen的使用教程

阅读时长 7 分钟读完

#react-native-wkwebview-reborn-fchasen的使用教程

前言

React Native是一种跨平台移动应用开发框架,但是它的默认网页渲染器在某些情况下可能无法满足我们的需求,比如在iOS平台上,React Native默认使用的是UIWebView,而UIWebView在iOS8以后已经过时,Safari也已经使用WKWebView替代。所以,很多开发者使用react-native-webview来替代React Native的默认网页渲染器。但是,react-native-webview效率并不高,不支持JavascriptCore,受限于WebView的安全性,不支持Cookie和LocalStorage,也缺乏定制和扩展性。因此,使用react-native-wkwebview-reborn-fchasen这个npm包可以更好的满足我们的需求。

在这篇文章中,我们将学习如何使用React Native的npm包react-native-wkwebview-reborn-fchasen。

安装

首先,需要在React Native项目中安装react-native-wkwebview-reborn-fchasen这个npm包。在React Native项目的根目录下,打开终端(或命令行工具),输入以下命令:

npm install react-native-wkwebview-reborn-fchasen --save

使用

使用react-native-wkwebview-reborn-fchasen的过程类似于使用React Native中的WebView组件。我们可以通过两种方式使用它:一种是直接导入这个组件,另一种是封装WebView的class,以便复用。这里,我们将介绍第二种方法,因为这样更便于管理、维护和重用代码。

创建组件

我们先创建一个WKWebView.js文件,作为封装后的组件。在这个文件中,我们导入所需的库:

其中,React是必需的,View是用于组织UI控件的容器,StyleSheet是用于定义样式的,Platform是用于识别不同的平台的,WebView是引用react-native-wkwebview-reborn-fchasen中的WebView组件。接下来,在class中定义组件:

-- -------------------- ---- -------
----- --------- ------- --------- -
  -------- -
    ------ -
      ----- -------------------------
        --------
          ---------------
          ----------------------
        --
      -------
    --
  -
-

这里,我们使用了ES6的class语法,继承了Component。在render函数中,我们返回一个View容器,内部装载了我们导入的WebView组件。这里我们使用ES6的展开操作符,将传入WKWebView组件的所有props传递给WebView组件。如果WebView组件需要设置其他属性(比如userAgent、scalesPageToFit等),也可以在这里设置。

配置参数

接着,我们为WebView组件定义一些参数,来满足我们的实际需求。可以使用类似于下面的代码:

这里,我们用React Native自带的PropTypes来设置源(source)参数的类型。同时,我们添加一个默认值null,当没有给source传递任何参数时,就是显示一个空白的WebView。从上面提到的WebView的文档可以发现,还有许多其他的参数可以设置,比如userAgent、scalesPageToFit、onMessage等,都可以参考原文档进行设置。

现在,我们已经完成了WKWebView组件的封装。

使用组件

接着,我们来看看如何使用WKWebView组件。首先,需要在项目中导入我们封装的WKWebView组件:

然后,在需要显示WebView的地方使用WKWebView组件:

-- -------------------- ---- -------
----- --------- ------- --------- -
  -------- -
    ----- - --- - - -----------
    ------ -
      ----- -------------------------
        ----------
          --------- --- --
        --
      -------
    --
  -
-

在这里,我们是从外部传进来一个来源(uri)参数,使用现在已经封装好的WKWebView组件将这个uri加载进来。这个uri可以是任何你需要加载的网址。当然,你还可以从外部传入任何你想要传入的参数。这个例子只是为了演示WKWebView如何使用。

运行

现在,我们已经完成了WKWebView的封装和使用。如果你已经设置好React Native的环境,可以直接启动React Native应用程序:

react-native run-ios

或是

react-native run-android

由于我这里用的是iOS平台,所以只介绍iOS的运行方法。打开你的模拟器或真机,你应该能看到一个加载了你传入uri的WebView。在这里,你可以修改WKWebView.js文件来添加其他功能,比如Cookie、LocalStorage、自定义UserAgent等。

大功告成

现在,我们已经成功地使用了react-native-wkwebview-reborn-fchasen这个npm包,使用了WKWebView.js文件来重新封装了WebView组件。我们解决了React Native默认Web渲染器中的一些不足,提高了应用的效率和扩展性。

完整的WKWebView.js代码如下所示:

-- -------------------- ---- -------
------ ------ - --------- - ---- --------
------ - ----- ----------- -------- - ---- ---------------
------ - ------- - ---- ----------------------------------------

----- ------ - -------------------
  ---------- -
    ----- --
  --
  -------- -
    ---------------- ----------
    ----- --
  --
---

----- --------- ------- --------- -
  -------- -
    ------ -
      ----- -------------------------
        --------
          ---------------
          ----------------------
        --
      -------
    --
  -
-

------------------- - -
  ------- -------------------------
--
---------------------- - -
  ------- -----
--

------ ------- ----------

祝好运!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600575b381e8991b448ea69b

纠错
反馈