【问题标题】:React Native Webview - undefined is not a functionReact Native Webview - 未定义不是函数
【发布时间】:2018-08-02 13:37:19
【问题描述】:

您好,我希望有人可以帮助我,因为我已经在互联网上搜索了一段时间没有任何结果,而且我是反应的初学者。 目前我正在开发一个 react-native 应用程序。

主屏幕只不过是显示网站的 Web 视图。从主屏幕有一个按钮可以引导我进入一些设置视图。 现在的问题是,我通过添加侦听器覆盖了 Android 的后处理程序,因此当单击后退按钮(硬件)时,将调用 Webview ref 的 goBack 函数,例如this.mywebview.goBack().

当我启动应用程序时,它工作正常,但是当我通过单击设置按钮进入另一个屏幕并从那里导航返回时,它不再工作了。 现在,当我单击后退按钮时,将显示错误消息:null - undefined is not a object。

【问题讨论】:

  • 请提供一些代码。我认为你得到一个错误仅仅是因为一旦你导航回来就没有什么可以回去了。但是没有任何代码,任何人都无能为力。

标签: android react-native webview react-navigation expo


【解决方案1】:

您需要将该 JavaScript 注入您的 WebView。

在您的 WebView 上,确保您有一个处理返回逻辑的函数。

const goBack = () => {
  // Do some logic, this is on your WebView
};

然后在您的 React Native 应用程序中,您可以简单地使用:

_goBack = () => {
  this.webView.injectJavaScript(`
    (function() {
      goBack();
    })();
  `);
  return true;
}

【讨论】:

  • 我试过了,但我仍然得到那个错误。我认为这是因为如果我从设置返回到 Webview,则以前的参考不再存在。这有意义吗?
猜你喜欢
  • 1970-01-01
  • 2017-12-06
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
相关资源
最近更新 更多