React-Native - 预加载场景并防止卸载

时间:2017-03-08 09:55:31

标签: react-native preload react-native-router-flux

我正在使用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()

0 个答案:

没有答案