我在React Native中单击WebView中的按钮时遇到问题

8hhllhi2  于 2023-06-06  发布在  React
关注(0)|答案(1)|浏览(132)

上下文:

我有一个React Native应用程序,它有一个WebView组件,可以渲染Map。(这个map是一个外部的React应用程序,所以当我谈论它的时候,想想基于React的外部应用程序)
此应用程序在Android平板电脑上执行。
我已经在Map中创建了一个按钮,以获得“中心Map”功能。

问题:

当我点击按钮时,出现了一个奇怪的错误:

Cannot read properties of null (reading 'RegExp')
TypeError: Cannot read properties of null (reading 'RegExp')
    at $o.i (http://192.168.0.15:3000/static/js/bundle.js:14554:132)

我试图在代码中找到这个错误,但bundle.js已经混淆了代码,不可能知道发生了什么。
我试着用onPress来改变onClick方法,但得到了同样的结果。

代码:

这是最相关的部分(webview),因为Map上的按钮只有一个控制台日志。

<WebView
    ref={webviewRef}
    onMessage={event => {
      if (
        event.nativeEvent.data &&
        event.nativeEvent.data === 'mapLoaded'
      ) {
        setmapLoaded(true);
      }
    }}
    source={{
      uri: 'http://192.168.0.15:3000/',
    }}
    onError={(error)=>{console.log(error)}}
  />

好吧,混淆的代码和主要问题是:

$o.prototype.i = function (a) {
    var b = a.type,
      c = vo(this.f);
    c = {
      x: a.pageX - c.x,
      y: a.pageY - c.y
    };
    var d;
    (d = this.a.a[0] || null) || (d = new xo(c.x, c.y, 1, "mouse"), this.a.push(d));
    this.b.push(d);
    yo(d, c.x, c.y);
    /^mouse(?:move|over|out)$/.test(b) ? Ko(this, "pointermove", a) : (/^mouse(down|up)$/.test(b) && (c = a.which - 1, "up" === wo.RegExp.$1 ? Bo(d, c) : zo(d, c)), Ko(this, b.replace("mouse", "pointer"), a));
    this.b.clear();
  };
i34xakig

i34xakig1#

因为我没有足够的声誉留下评论,我把这个作为答案。我希望它能提供一些帮助。根据onMessage上的文档,当webview调用window.ReactNativeWebView.postMessage时会触发此函数。你在你的web代码中使用postMessage方法了吗?

相关问题