Web 组件 react-native-webview2

码农软件 · 软件分类 · 网页组件 · 2019-04-08 23:28:00

软件介绍

本项目是WebView 或 Web 组件,支持Android、iOS, 支持auto height高度自适应及在html页面和RN组件之间call js相互调用js方法,very useful & easily!

基于React-native原生的WebView组件纯js实现, 起名为react-native-webview2 或 WebView 或 Web.

  1. react-native-webview2 当你设置了属性 source={uri:xxx}时可以动态改变WebView 的高度(目前还不支持source={html}),但若你设置了属性 ={height:xxx}设置了高度就不能自适应了, 设置了高度后高度是固定的.

  2. react-native-webview2 也可以让你在html页面和reactnative之间相互调用js代码。要从rn组件调用html页面的js,你只需要在rn组件中调用this.web.evalJs("js code...here") ,若要调用react-native代码,你只需要在html页面中调用 returnEval("rn code...here"),同时你需要设置这个组件的属性evalReturn={(r) => {eval(r)}.

  3. react-native-webview2支持所有其他原生React Native WebView的属性.

WebView示例项目: https://github.com/greatbsky/react-native-webview2-demo

WebView示例

WebView 使用方法

  1. 执行 npm install react-native-webview2 --save

  2. 编写代码:

    import Web from 'react-native-webview2';
    
    <Web
      ref={(c) => {this.web = c}}
      evalReturn={(r) => {eval(r)}
      source={{uri: 'xxx'}}
       ={[ s.web, {minHeight: 300}]}
      ...other props
      />
  3. 完整示例代码: https://github.com/greatbsky/react-native-webview2-demo/blob/master/WebView2App/app.js

WebView 配置

新增的属性

  • evalJs: 从react-native调用html页面里的js的方法. 例如: this.web.evalJs('var t = document.title; alert(t)');

  • evalReturn: 若你需要从html页面调用react-native的方法,这个属性是需要的. 固定写法:evalReturn={(r) => {eval(r)}.

  • go: 打开一个新的url. 例如: this.web.go('http://xxxxxx');

其他

  • returnEval: 在html页面的一个function,从html页面调用react-native的方法时调用的js方法, 例如:returnEval('this.setText("from html page...")')

本文地址:https://codercto.com/soft/d/3170.html

增长黑客

增长黑客

Sean Ellis / 张溪梦 / 中信出版集团股份有限公司 / 2017-11-1 / CNY 59.00

脸谱网如何从默默无闻到坐拥二十几亿用户? 爱彼迎、优步何以在短短时间估值超过百亿美元? 领英怎样跨步成为全球领先的职业社交平台? 这些初创公司实现爆发式成长的共同奥秘就是增长黑客。 增长黑客是硅谷当下热门的新商业方法论,其精髓在于通过快节奏测试和迭代,以极低甚至零成本获取并留存用户。 作为最早提出“增长黑客”概念的理论先驱、带领Dropbox实现500%增长的实战领军......一起来看看 《增长黑客》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具