前端web页面和RN移动端进行交互

我们在进行RN开发时,有时候需要用到外部网页在RN里面进行显示,例如我有个页面,不想用RN去画,但是想让这个页面从RN显示,这时候就要考虑web页面和RN交互了,比如我点击web网页按钮会得到一些东西,然后需要RN移动端实时读取到数据,不多说了,看下面的示例代码即可

RN端页面

js 复制代码
import React, {useEffect} from 'react';
import {StyleSheet} from 'react-native';
// yarn add react-native-webview
import {WebView} from 'react-native-webview';

export default function WebviewScreen({navigation, route}) {
  return (
      <WebView
      	style={styles.container}
        source={{uri: 'http://192.168.1.85:8080/#/BreakKcal'}} // 网页地址
        onMessage={event => {
          // 处理从WebView接收到的消息
          console.log('接受到了JS的消息:', event.nativeEvent.data);
        }}
      />
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#FFF',
  },
});

web端页面处理

js 复制代码
// 点击按钮给RN发送数据
// 下面这个方法适用于纯原生html和js,以及所有基于原生的框架vue,react,uniapp等等都适合,因为本质也是调用了window上面的方法,这个在网页上面都有这个window对象,直接用就行
const btnClick = () => {
    window.ReactNativeWebView.postMessage({name:"我叫萧寂",age:22});
};

这样,当点击按钮触发上面的方法,RN都能同步实时打印到接收的数据(也不一定是按钮点击,只要触发window上面的这个postMessage方法就是可以的)

相关推荐
再吃一根胡萝卜29 分钟前
如何把小米 MiMo 接入 CodeBuddy,打造私有 Agent
前端
负责的蛋挞2 小时前
异步HttpModule的实现方式
java·服务器·前端
丹宇码农4 小时前
把 HLS 字幕玩出花:zwPlayer 如何让 M3U8 视频支持全文搜索、翻译与码率自适应
前端·javascript·音视频·hls·视频播放器
2501_943782354 小时前
【共创季稿事节】猜数字游戏:二分法思维与交互式反馈
前端·游戏·microsoft·harmonyos·鸿蒙·鸿蒙系统
GV191rLvq5 小时前
基于Socket实现的最简单的Web服务器【ASP.NET原理分析】
服务器·前端·asp.net
吠品5 小时前
LangChain 里 tool_call_id 为空?一次 MCP 工具集成的排查记录
前端
微信开发api-视频号协议5 小时前
企业微信二次开发中的文件系统设计:媒体资源、临时文件与业务附件
前端·微信·企业微信·媒体·ipad·微信开放平台
柒和远方5 小时前
Phase 7.4 学习博客:为什么多 API 项目需要 Swagger / OpenAPI
前端·后端·架构
张龙6875 小时前
拼多多开放平台对接踩坑实录:从 CLIENT_ID 配置到 MD5 签名算法的完整填坑指南
前端