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开发React Native控件之WebView组件详解以及实例使用(22)
React-native:如何自动保存 webview 当前网页?