如何在React Native中导航到不在选项卡导航器中的页面?

时间:2019-04-14 13:48:57

标签: javascript react-native tabs

我在我的本机代码中有这个

const MainNavigator = createBottomTabNavigator({
  Home: Home,
  "Exercise List": ExerciseList,
  Exercise: Exercise,
  "Current Workout": CurrentWorkout,
})

但是我只想导航到“运动”选项卡,当我通过exerciseList页面单击它时,就像这样:

onPress={() => navigate("Exercise", { name: item.name })}

,但我不希望它显示在底部的导航栏中。但是,如果我从上面的MainNavigator中删除了它,那么当我单击上面的onPress时,它将不起作用。有没有导航到该组件的方法,而无需将其放在导航栏中?

3 个答案:

答案 0 :(得分:0)

添加createSwitchNavigator。下面是一个工作示例

const Navigation = createSwitchNavigator(
    {
        AuthLoading: AuthLoadingScreen,
        App: AppStack,
        Auth: AuthStack,
        Qr: QrPage,


    },
    {
        initialRouteName: 'AuthLoading',
  }

在这里我可以从任何地方访问我的Qr页面。

答案 1 :(得分:0)

这是调用select avg(temperature) from table where dayofyear(date) between 91 and 97 group by year(date) 中不包含的其他组件的两种方法:

select avg(temperature) from table where dayofyear(date) between 364 and 5 group by year(date)

注意最后一行.... !!!!

希望对您有所帮助。

答案 2 :(得分:0)

您需要在app.js中进行一些更改。在createStackNavigator中添加createBottomTabNavigator。将那些组件添加到不想添加到底部标签导航器的stacknavigator中。在createBottomTabNavigator中,添加要显示在选项卡栏中的那些组件

请检查以下代码

import React, { Component } from "react";
import {
  Platform,
  StyleSheet,
  Text,
  View,
  SafeAreaView,
  ScrollView,
  Dimensions
} from "react-native";
import { createStackNavigator, createBottomTabNavigator } from "react-navigation";
import LoginScreen from "./Screens/LoginScreen";
export default class App extends Component {
  render() {
    return <StackNav />;
  }
}
const StackNav = createStackNavigator(
  {
    TabNavigator: {
      screen: AppTabNavigator,
      navigationOptions: {
        headerMode: "none",
        header: null
      }
    },
    First: {
      screen: First,
      navigationOptions: {
        headerMode: "none",
        header: null
      }
    },
    Second: {
      screen: Second,
      navigationOptions: {
        headerMode: "none",
        header: null
      }
    }
  },
  {
    initialRouteName: "TabNavigator"
  }
);
const AppTabNavigator = createBottomTabNavigator({
  Login: {
    screen: LoginScreen
  }
});