WebViewJavascriptBridge,react 与原生客户端 webview 的交互有 demo 么?

发布于 2022-09-02 13:11:35 字数 179 浏览 7 评论 0

各位大神们,react 与原生客户端 webview 的交互有 demo 么?比如我用WebViewJavascriptBridge简单实现了和 iOS 客户端的交互,但是不知道怎么和 react 整合在一起?

谢谢了~

PS:暂时使用的是 react,非 react-native。暂时针对的是 iOS 平台。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

从来不烧饼 2022-09-09 13:11:35

既然你都实现了WebViewJavascriptBridge和前端的交互了,就当做普通的js调用即可,跟你使用react和不使用react没有任何关系。

native和js的交互,其实就是暴露一些方法而已,native是暴露在WebViewJavascriptBridge对象上的,而js通常是暴露在window对象上的(因为处理过前端和App的交互,所以知道,可以不一定暴露在window对象上,可以自定义一个对象)。你这里所谓的和react整合,我不知道是否你的意思,native直接调用react.xxx方法。

刚刚说了的,可以暴露在自定义对象上的,当然也可以通过react对象暴露给native。但是,不推荐这样。主要有以下几个原因:
1.这样很容易和react产生耦合,甚至冲突;
2.其实我甚至不推荐,直接前端暴露方法给native调用(除非必须)。因为native调用前端方法的效率是很低的(尤其是Android,相对前端调用native方法)。我推荐采取回调的方式,这样native不会依赖前端的方法。

需要注意的是,你这里所说的react应该是React.js,而不是React Native。

回眸一笑 2022-09-09 13:11:35

如果你说的是React Native自己封装的webview,很遗憾,没法js直接交互,只能通过url hash,ios可以拦截跳转请求android暂时不支持
不过貌似有个第三方支持js交互的webview

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文