当我构建混合网络应用时(将网页放在 webview中,包含在原生应用中)。我使用scheme://functionName/functionParameters
技巧来允许Javascript发送&#34;命令&#34;到本机代码。通过创建"<iframe src = URL/>
或致电window.location = URL
。然后在iOS&amp; Android方面,我拦截所有HTTP请求,并检查该URL是否以我们指定的scheme://
开头,然后执行该功能。
问题是,技巧使用什么 React-Native 来允许JS与本地人交谈,反之亦然?他们使用相同的scheme
方法吗?请用更大的图片来解释它们使用的机制。
答案 0 :(得分:0)
在React Native中,您可以编写可以在JS中使用的native modules。
您编写JS包装器(API或UI组件),然后使用RN约定为(两个)平台实现本机代码。
在JS网桥上更新更新:RN绝对不使用任何scheme
网址,因为它未在网络视图中运行。它通过RN JS桥接器进行通信,该桥接器在两个方向上发送异步事件。
此通信既用于自定义本机模块,也用于RN本身。
以下是关于该主题的更正式的documentation。
答案 1 :(得分:0)
document.getElementById("myDiv").onclick = function() { alert(this.innerHTML) };
以上是React Native中用于包含Android原生模块的函数,以获取更详细的信息,请参阅here。