您好,我希望有人可以帮助我,因为我一直在互联网上搜索一段时间没有任何结果,我是一个反应初学者。目前我正在开发一个本地应用程序。
主屏幕只不过是一个显示网站的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;
}