React-Native WebView 数据交互
本文档记录了 React Native 与 react-native-webview 互传数据时的细节
数据交互分别为两类,使用场景会一一介绍:
- React Native 发送消息到 Web
injectedJavaScritpropinjectedJavaScriptBeforeContentLoadedpropinjectJavaScriptmethod- WebView
postMessagemethod
- Web 发送消息到 React Native
- HTML5
postMessagemethod andonMessageprop
- HTML5
message 类型均为 string
一、React Native 发送消息到 Web#
1.injectedJavaScript#
2.injectedJavaScriptBeforeContentLoaded#
3.injectJavaScript#
4.WebView postMessage#
HTML5 要监听 RN 传递过来的 message 消息,注意 Android 和 iOS 不一样:
RN 通过 ref 调用 postMessage 发送 message:
二、Web 发送消息到 React Native#
1.HTML5 postMessage method and onMessage prop#
HTML5 要用 window.ReactNativeWebView.postMessage 发送消息:
RN 利用 onMessage 方法监听消息: