RN WebView和H5之间的通信
WebView和H5相互发送监听消息
1.1 Rn向h5发送消息
a. rn 发消息给你h5
<WebView source={ { uri: `${ENVIRONMENT[GLOBAL.CURR_ENV].logistics}?token=${GLOBAL.TOKEN}` }} ref={webview => this.webview = webview} onMessage={this._getH5Data} onLoadEnd={ () => { this.refs.webView.postMessage('RN向H5发送的消息'); //主意 一定是字符串传输 } } useWebKit={true} onError={this._errorFn} startInLoadingState={true} />
b. 在H5中注册监听
window.onload = function() { document.addEventListener('message', function(msg) { console.log(msg) message = msg.data; }); }
1.2 H5向RN发送消息
a. 在RN端通过onMessage接收消息
<WebView
source={
{ uri: `${ENVIRONMENT[GLOBAL.CURR_ENV].logistics}?token=${GLOBAL.TOKEN}` }
}
ref={webview => this.webview = webview}
onMessage={(event) => {console.log(event.nativeEvent.data);}}
onLoadEnd={this._sendH5}
useWebKit={true}
onError={this._errorFn}
startInLoadingState={true}
/>
b. H5发送消息,此时只能传递string类型
window.postMessage('网页向rn发送的消息');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了