深度链接到堆栈导航器 v5 问题

时间:2021-08-01 04:55:02

标签: react-native deep-linking stack-navigator

我目前正在尝试深入链接到位于选项卡导航器中的堆栈导航器。但是它不能正常工作,它只是将我导航到堆栈中的第一个屏幕。我尝试了多种不同的解决方案,但没有任何效果。

这是我的配置和导航设置,感谢您的帮助。

const linking = {
  prefixes: ['https://gami.com', 'gami://'],
  config: {
    screens: {
      Games: {
        screens:{
          Game:'game/:id'
        }
      }
    }
  }
}
const gamesStack = ({navigation}) => {
  return (
    <Games.Navigator
      screenOptions={{
        cardStyle: {backgroundColor: colors.BACKGROUND},

        headerShown: true,
        headerBackTitleVisible:false,
        headerTintColor:'black'
      }}>
      <Games.Screen name="Games" component={GamesPage} />
      <Games.Screen
        options={{
          title: '',
          headerStyle: {
            backgroundColor: colors.BACKGROUND,
          },
        }}
        name="FindGames"
        component={FindGames}
      /> 
      <Games.Screen
        options={{
          title: '',
          headerStyle: {
            backgroundColor: colors.BACKGROUND,
          },
        }}
        name="Game"
        component={Game}
      />
      <Games.Screen
        options={{
          title: '',
          headerStyle: {
            backgroundColor: colors.BACKGROUND,
          },
        }}
        name="Profile"
        component={Profile}
      />
      <Games.Screen
        options={{
          title: '',
          headerStyle: {
            backgroundColor: colors.BACKGROUND,
          },
        }}
        name="Group"
        component={Group}
      />
      <Games.Screen
        options={{
          title: '',
          headerStyle: {
            backgroundColor: colors.BACKGROUND,
          },
        }}
        name="MessageThread"
        component={MessageThread}
      />
    </Games.Navigator>
  );
};


export default function Navigation() {
  const {user} = useContext(AuthContext);

  return (
    <NavigationContainer linking={linking}>
      {!user ? (
        <LoginStack.Navigator>
          <LoginStack.Screen
            name="Onboarding"
            component={OnboardingScreen}
            options={{
              animationEnabled: false,
              header: () => null
            }}
          />
          <LoginStack.Screen
            name="Login"
            component={Login}
            options={{headerLeft: () => null}}
          />
          <LoginStack.Screen name="EmailPassword" component={Emailpassword} />
          <LoginStack.Screen name="Name" component={Name} />
          <LoginStack.Screen
            name="InstagramHandle"
            component={InstagramHandle}
          />
          <LoginStack.Screen name="Age" component={Age} />
          <LoginStack.Screen name="Location" component={Location} />
          <LoginStack.Screen
            name="PreferredSports"
            component={PreferredSports}
          />
        </LoginStack.Navigator>
      ) : (
        <Tab.Navigator
          tabBarOptions={{
            showLabel: false,
            safeAreaInsets:{
              left:10,
              right:10
            }
          }}
          >
          <Tab.Screen
            name="Games"
            component={gamesStack}
            options={{
              tabBarIcon: ({focused}) => <MailIcon focused={focused} />,
            }}
          />
          <Tab.Screen
            name="Groups"
            component={groupsStack}
            options={{
              tabBarIcon: ({focused}) => (
                <GroupIcon size="large" focused={focused} />
              ),
            }}
          />
          <Tab.Screen
            name="People"
            component={peopleStack}
            options={{
              tabBarIcon: ({focused}) => <ProfileIcon focused={focused} />,
            }}
          />
          <Tab.Screen
            name="Inbox"
            component={inboxStack}
            options={{
              tabBarIcon: ({focused}) => (
                <MailIcon size="small" focused={focused} />
              ),
            }}
          />
        </Tab.Navigator>
      )}
    </NavigationContainer>
  );
}

0 个答案:

没有答案