当应用程序进入前台时,React Native会停止重新加载WebView

时间:2018-11-07 17:24:22

标签: react-native webview uiwebview wkwebview

我正在开发一个使用WebView作为应用主屏幕的React Native应用。

当应用程序从后台运行到前台时,WebView将重新加载。如何停止重新加载?

answer建议在ViewDidLoad()而非ViewDidAppear()ViewWillAppear()中加载WebView。这是一个真正的解决方案,我如何确认或更改React Native如何加载WebView?

作为一种骇人听闻的解决方案,我使用onNavigationStateChange将当前URL保存在AsyncStorage中,然后在应用程序出现在前台时加载此URL。此解决方案不是很好,因为它是:

  1. 打破浏览器历史记录,影响javascript后退按钮
  2. 不记得表格状态
  3. 可能会将用户发送到他们无法直接访问的页面,导致他们被发送到404

因此,我更希望使用一种能够停止重新加载的解决方案,至少在该应用仅在后台短暂运行的情况下如此。

1 个答案:

答案 0 :(得分:0)

不是,并且WebView出现问题。重新加载是由于我滥用React Navigation SwitchNavigator引起的。如docsSwitchNavigator

中所述
  

在您离开时将路由重置为默认状态

此重置导致WebView重新加载。