Skip to content

Commit 8df3fa9

Browse files
satya164grabbou
authored andcommitted
Switch pager when swipe and animations are disabled (react-navigation#1234)
1 parent cfc8c1f commit 8df3fa9

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/views/TabView/TabView.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import React, { PureComponent } from 'react';
44
import { StyleSheet } from 'react-native';
5-
import { TabViewAnimated } from 'react-native-tab-view';
5+
import { TabViewAnimated, TabViewPagerPan } from 'react-native-tab-view';
66
import SceneView from '../SceneView';
77
import withCachedChildNavigation from '../../withCachedChildNavigation';
88

@@ -127,6 +127,8 @@ class TabView extends PureComponent<void, Props, void> {
127127
);
128128
};
129129

130+
_renderPager = (props: *) => <TabViewPagerPan {...props} />;
131+
130132
render() {
131133
const {
132134
router,
@@ -140,6 +142,7 @@ class TabView extends PureComponent<void, Props, void> {
140142

141143
let renderHeader;
142144
let renderFooter;
145+
let renderPager;
143146

144147
const { state } = this.props.navigation;
145148
const options = router.getScreenOptions(
@@ -159,17 +162,22 @@ class TabView extends PureComponent<void, Props, void> {
159162
}
160163
}
161164

165+
if (animationEnabled === false && swipeEnabled === false) {
166+
renderPager = this._renderPager;
167+
}
168+
162169
const props = {
163-
style: styles.container,
164-
navigationState: this.props.navigation.state,
165170
lazy,
166-
renderHeader,
167-
renderFooter,
168171
animationEnabled,
169172
swipeEnabled,
173+
renderPager,
174+
renderHeader,
175+
renderFooter,
170176
renderScene: this._renderScene,
171177
onRequestChangeTab: this._handlePageChanged,
178+
navigationState: this.props.navigation.state,
172179
screenProps: this.props.screenProps,
180+
style: styles.container,
173181
};
174182

175183
return <TabViewAnimated {...props} />;

0 commit comments

Comments
 (0)