react native webview与H5通信
rn webview问题
一:首先按照https://github.com/lzyzsd/JsBridge配置jsbridge
二:封装jsbridge给rn调用
1:新建WebViewManager继承自SimpleViewManager
2:实现createViewInstance方法 返回一个webview实例
@Override
protected BridgeWebView createViewInstance(final ThemedReactContext reactContext) {
this.reactContext=reactContext;
webView = new BridgeWebView(reactContext);
//注册登录事件registerHandler
webView.registerHandler("callNativePage", new BridgeHandler() {
@Override
public void handler(String data, CallBackFunction function) {
}
});
return webView;
}
3:设置webview属性接口
@ReactProp(name = "url")
public void setUrl(final BridgeWebView webView,String url) {
//这里setText应该高亮
webView.loadUrl(url);
}
4:设置webview给rn的回调方法
我这里设置的是login方法 点击h5页面判断是否登录 如果没有登录跳转到登录页面
实现方法:
1:注册