我開發了一個bottomTabNavigatorinreact-native并且我有 3 條主要路線,我想在我的底部標簽導航器中顯示它們,它們是 1) 主頁,2) 個人資料,3) 聊天,所以我寫了以下代碼:
const Stack = createNativeStackNavigator();
const Tab = createBottomTabNavigator();
const Navigation = () => {
return (
<>
<Tab.Navigator>
{user.authLoadingState ? (
<Tab.Screen name="Home" component={LoadingScreen} />
) : user.isLoggedIn ? (
<>
<Tab.Screen
name="Home"
component={HomeScreen}
/>
<Tab.Screen
name="Profile"
component={ProfileScreen}
/>
<Tab.Screen
name="Chat"
component={ChatScreen}
/>
<Stack.Screen name="Update" component={UpdateScreen} /> // this is the screen I don't want in my bottomTab but I want to navigate to it using useNavigation hook.
</>
) : (
<>
<Stack.Screen name="First" component={FirstScreen} />
<Stack.Screen name="SignIn" component={SignInScreen} />
<Stack.Screen name="SignUp" component={RegisterScreen} />
</>
)}
</Tab.Navigator>
</>
);
};
現在,當我轉到我的Profile螢屏時,我有一個按鈕(應該)導航到我的導航器定義中未提及的另一個螢屏,我Tab如何導航到該螢屏,因為顯然我不想bottomTabNavigator用不同的螢屏填充我的螢屏,我只想將主螢屏保留在我的bottomTabNavigator不是全部中。當我Stack.Navigator單獨使用時,這很好,因為我可以將所有螢屏保持在下方<Stack.Navigator></Stack.Navigator>并使用navigator.navigate(nameOfScreen)with導航到任何螢屏const navigator = useNavigation()。但是現在,如果Tab.Navigator我導航說Screen does not exists. 有什么我可以做的事情嗎?
uj5u.com熱心網友回復:
要在選項卡和堆疊螢屏之間導航,您可以這樣做:
const Tab = createBottomTabNavigator();
const Stack = createStackNavigator();
export default function App() {
return (
<NavigationContainer>
<Tab.Navigator>
<Tab.Screen
name="Home"
component={HomeScreen}
/>
<Tab.Screen name="Profile Screen" component={StackScreens} />
<Tab.Screen
name="Chat"
component={ChatScreen}
/>
</Tab.Navigator>
</NavigationContainer>
)
function StackScreens() {
return (
<Stack.Navigator screenOptions={{ headerShown: false }} >
<Stack.Screen name="Profile" component={ProfileScreen} />
<Stack.Screen name="Update" component={UpdateScreen} /> // this is the screen I don't want in my bottomTab but I want to navigate to it using useNavigation hook.
</Stack.Navigator>
);
}
}
我不確定它是否正是您想要的,但您現在可以從“組態檔”訪問“更新螢屏”,而無需在底部選項卡導航器中顯示它
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/392312.html
標籤:反应原生
