我正在使用react-native-router-flux
在我的react-native
应用程序中导航。有一个场景包含WebView
,由于重新渲染组件,其性能很慢。
我的主屏幕已满anchors
,每个人都打开浏览器,但问题是每次浏览器需要重新渲染时。
我的问题是 - 如何避免这种情况?显而易见的是使用componentWillReceiveProps
并更新网址,但由于场景每次都重新渲染,因此无效。
另一个问题是WebView
加载第一次加载网址需要5-6秒。有一种方法来安装浏览器场景,意味着更少的网址(例如谷歌)?
这是我的路由器代码:
<Scene key="drawer" component={Sidebar} open={false} initial={this.state.auth} navigationBarStyle={$style.header} type="reset">
<Scene key="drawer_root"
navigationBarStyle={$style.header}
type="reset"
>
<Scene
key="main"
component={MainView}
animation={I18n.isRTL ? 'leftToRight' : 'horizontal'}
renderTitle={this.logoButton}
renderLeftButton={ I18n.isRTL ? this.profileButton : this.sidebarButton }
renderRightButton={ I18n.isRTL ? this.sidebarButton : this.profileButton }
type="reset"
initial={true}
/>
<Scene
key="browser"
component={BrowserView}
navigationBarStyle={$style.header}
renderTitle={this.logoButton}
renderRightButton={ I18n.isRTL ? this.backButtonBrowser : this.emptyFunction }
renderBackButton={ I18n.isRTL ? this.emptyFunction : this.backButtonBrowser }
/>
</Scene>
</Scene>
后退按钮只是Action.pop()
。