From 8df3fa9db14640f7f9bf412bac5d2a3affc5f35a Mon Sep 17 00:00:00 2001 From: Satyajit Sahoo Date: Wed, 26 Apr 2017 09:45:01 +0530 Subject: [PATCH] Switch pager when swipe and animations are disabled (#1234) --- src/views/TabView/TabView.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/views/TabView/TabView.js b/src/views/TabView/TabView.js index d7757d63..08844cc9 100644 --- a/src/views/TabView/TabView.js +++ b/src/views/TabView/TabView.js @@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'; import { StyleSheet } from 'react-native'; -import { TabViewAnimated } from 'react-native-tab-view'; +import { TabViewAnimated, TabViewPagerPan } from 'react-native-tab-view'; import SceneView from '../SceneView'; import withCachedChildNavigation from '../../withCachedChildNavigation'; @@ -127,6 +127,8 @@ class TabView extends PureComponent { ); }; + _renderPager = (props: *) => ; + render() { const { router, @@ -140,6 +142,7 @@ class TabView extends PureComponent { let renderHeader; let renderFooter; + let renderPager; const { state } = this.props.navigation; const options = router.getScreenOptions( @@ -159,17 +162,22 @@ class TabView extends PureComponent { } } + if (animationEnabled === false && swipeEnabled === false) { + renderPager = this._renderPager; + } + const props = { - style: styles.container, - navigationState: this.props.navigation.state, lazy, - renderHeader, - renderFooter, animationEnabled, swipeEnabled, + renderPager, + renderHeader, + renderFooter, renderScene: this._renderScene, onRequestChangeTab: this._handlePageChanged, + navigationState: this.props.navigation.state, screenProps: this.props.screenProps, + style: styles.container, }; return ;