【问题标题】:ReactNativeWebView is Not Recognised无法识别 ReactNativeWebView
【发布时间】:2019-11-01 12:51:20
【问题描述】:

我正在使用 react-native-webview 并尝试从 JavaScript 向 RN 发布消息。

我正在使用window.ReactNativeWebView.postMessage() 方法,但无法解决无法识别ReactNativeWebView 的问题,并出现以下错误:

Cannot read property 'postMessage' of undefined

我正在使用以下内容:

  • “反应”:“16.8.3”,
  • “react-native”:“0.59.8”,
  • "react-native-webview": "^5.12.0",

这看起来很简单,所以我不知道我哪里错了。

【问题讨论】:

    标签: react-native react-native-webview


    【解决方案1】:

    声明并使用参考值。

     onLoadEnd() {
       this.webview.postMessage("yourmessage");
      }
    
     <WebView
              ref={webview => (this.webview = webview)}
              onLoadEnd={() => this.onLoadEnd()}
              ...
            />
    

    你的 webview_uri 应该有一个消息接收器,就像 React-native 的一样。

    网页示例

    document.addEventListener("message", function(event) {
        console.log("Received post message", event);
    
        logMessage(event.data);
    }, false);
    

    【讨论】:

    • 非常感谢。我以为我已经尝试过了,但是通过所有的努力,我不是 100%。我会试一试并按照您提供的内容进行操作。非常感谢。
    • 希望大家多多关注Reat-native。我需要像你这样的开发者。如果我的回答有帮助,您能选择一个答案吗?
    • 我还是没有运气,hong development。我不再收到任何错误,但 WebView 从未收到过发布消息。我正在使用 react-native-webview 5.12.0,所以我指的是@osrpt 在this post 中描述的实现
    • 你的uri中是否有监听消息的监听器?
    • 是:onMessage={() =&gt; this.onMessage()}
    猜你喜欢
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 2013-04-19
    • 2019-01-28
    • 2017-08-10
    • 2015-08-14
    相关资源
    最近更新 更多