首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在React原生webView和React web应用之间进行通信?

如何在React原生webView和React web应用之间进行通信?
EN

Stack Overflow用户
提问于 2020-06-18 00:51:36
回答 2查看 819关注 0票数 3

我正在尝试在react-native中的webView和使用React-360创建的web应用(当然还有React)之间创建一种通信。我正在使用react-native-webview,并在此链接中遵循以下指南来创建通信:https://github.com/react-native-community/react-native-webview/blob/master/docs/Guide.md使用页面中的示例,使用一个简单的html页面(类似于链接中的示例),在脚本部分使用函数window.ReactNativeWebView.postMessage(data)它工作得很好:

代码语言:javascript
复制
 <WebView
  source={{uri: this.props.link}}

    ref={( webView ) => this.webView = webView}

    onMessage={event => {
      alert(event.nativeEvent.data);
    }}
  />

然而,我的目的是在单击按钮时在webView window.ReactNativeWebView.postMessage(data)中调用我的web应用程序,例如使用如下函数:

代码语言:javascript
复制
homeButtonClicked() {
    console.log("sei uscito, torna all'App!")
    window.ReactNativeWebView.postMessage(data);
}

不幸的是,当我点击按钮时,我得到了以下错误:Cannot read property 'postMessage' of undefined。如何解决此问题?感谢所有人。

EN

回答 2

Stack Overflow用户

发布于 2020-06-18 04:48:36

您可以尝试使用文档中的超时功能吗

代码语言:javascript
复制
setTimeout(function () {
   window.ReactNativeWebView.postMessage("Hello!")
}, 2000)
票数 0
EN

Stack Overflow用户

发布于 2020-06-18 14:32:37

我在React-360仓库的一个老问题中找到了这个问题的解决方案。React-360代码无法访问window,因此有必要将代码放在本机模块中,从那里可以向react-native应用程序发送消息。链接到该问题:https://github.com/facebook/react-360/issues/241

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62434249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档