diff --git a/packages/tabs/package.json b/packages/tabs/package.json index d89904b7..45fd3281 100644 --- a/packages/tabs/package.json +++ b/packages/tabs/package.json @@ -43,7 +43,7 @@ "react-lifecycles-compat": "^1.0.2", "react-native-paper": "^1.2.4", "react-native-safe-area-view": "^0.7.0", - "react-native-tab-view": "^0.0.74" + "react-native-tab-view": "~0.0.75" }, "devDependencies": { "@expo/vector-icons": "^6.2.0", diff --git a/packages/tabs/src/navigators/createBottomTabNavigator.js b/packages/tabs/src/navigators/createBottomTabNavigator.js index f8fd0b2c..d8bd1a78 100644 --- a/packages/tabs/src/navigators/createBottomTabNavigator.js +++ b/packages/tabs/src/navigators/createBottomTabNavigator.js @@ -70,8 +70,8 @@ class TabNavigationView extends React.PureComponent { return ( { ); }; + _jumpTo = (key: string) => { + const { navigation, onIndexChange } = this.props; + + const index = navigation.state.routes.findIndex(route => route.key === key); + + onIndexChange(index); + }; + render() { const { navigation, renderScene } = this.props; const { routes } = navigation.state; diff --git a/packages/tabs/src/views/TabBarBottom.js b/packages/tabs/src/views/TabBarBottom.js index 8d869043..a9715aad 100644 --- a/packages/tabs/src/views/TabBarBottom.js +++ b/packages/tabs/src/views/TabBarBottom.js @@ -30,7 +30,7 @@ export type TabBarOptions = { type Props = TabBarOptions & { navigation: any, descriptors: any, - jumpToIndex: any, + jumpTo: any, onTabPress: any, getLabelText: ({ route: any }) => any, renderIcon: any, @@ -170,7 +170,7 @@ class TabBarBottom extends React.Component { activeBackgroundColor, inactiveBackgroundColor, onTabPress, - jumpToIndex, + jumpTo, style, tabStyle, } = this.props; @@ -202,7 +202,7 @@ class TabBarBottom extends React.Component { { - jumpToIndex(index); + jumpTo(route.key); onTabPress({ route }); }} > diff --git a/packages/tabs/src/views/TabBarTop.js b/packages/tabs/src/views/TabBarTop.js index 76c78907..ce015bfb 100644 --- a/packages/tabs/src/views/TabBarTop.js +++ b/packages/tabs/src/views/TabBarTop.js @@ -29,7 +29,7 @@ type Props = TabBarOptions & { }) => React.Node, getLabelText: (props: { route: any }) => any, useNativeDriver?: boolean, - jumpToIndex: (index: number) => any, + jumpTo: (key: string) => any, }; export default class TabBarTop extends React.PureComponent { diff --git a/packages/tabs/yarn.lock b/packages/tabs/yarn.lock index 816f5ae9..458e7c06 100644 --- a/packages/tabs/yarn.lock +++ b/packages/tabs/yarn.lock @@ -4231,6 +4231,12 @@ react-native-tab-view@^0.0.74: dependencies: prop-types "^15.6.0" +react-native-tab-view@^0.0.75: + version "0.0.75" + resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-0.0.75.tgz#d71c24645ae1ce84a08152e212912f131906d0a4" + dependencies: + prop-types "^15.6.0" + react-native-vector-icons@4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-4.4.2.tgz#090f42ee0396c4cc4eae0ddaa518028ba8df40c7"