React Native Webview - undefined不是一个函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React Native Webview - undefined不是一个函数相关的知识,希望对你有一定的参考价值。

您好,我希望有人可以帮助我,因为我一直在互联网上搜索一段时间没有任何结果,我是一个反应初学者。目前我正在开发一个本地应用程序。

主屏幕只不过是一个显示网站的Webview。在主屏幕上有一个按钮,可以将我引导到某些设置视图中。现在的问题是,我通过添加一个监听器来覆盖android的Backhandler,这样当单击Backbutton(硬件)时,Webview参考的goBack函数被调用,例如, this.mywebview.goBack()。

当我启动应用程序时,这工作正常,但是当我通过单击“设置”按钮进入另一个屏幕并从那里导航回来时,它不再起作用。现在,当我单击Backbutton时,将显示错误消息:null - undefined不是对象。

答案

您需要将javascript注入WebView。

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

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

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

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

以上是关于React Native Webview - undefined不是一个函数的主要内容,如果未能解决你的问题,请参考以下文章

React Native WebView 状态栏

React Native开发React Native控件之WebView组件详解以及实例使用(22)

React-native:如何自动保存 webview 当前网页?

WebView 不一致地显示白屏 react-native

有啥方法可以在 react-native-webview 中禁用 hapticFeedback

如何在 iOS 的 WebView(react-native-webview) 中设置自定义字体?