Проблема с пользовательской навигационной панелью React Native

#reactjs #react-native #react-native-navigation

Вопрос:

Эй, так у меня небольшой мозговой срыв,

Я ни за что на свете не могу понять, как мне это сделать.

Что я пытаюсь сделать, так это чтобы моя пользовательская навигационная панель не отображалась на экране входа в систему, а отображалась где-либо еще.

Я объяснил в этом коротком видео: https://cdn.discordapp.com/attachments/643261623519150090/904146526778056805/Desktop_2021.10.30_-_16.10.14.04.mp4

Это мой код:

[ корень ./ ] App.js

 import LoginScreen from './views/login'
import HomeScreen from './views/home'
import ProfileScreen from './views/profile'


import CustomNav from './views/nav/index'

const Stack = createStackNavigator();

export default function App() {
  return (
  <View style={styles.Test} >
    <NavigationContainer theme={DarkTheme} linking={{
      config: {
        screens: {
          Login: "/",
          Home: "/home",
          Profile: "/Profile/:Username"
        }
      },
      }}>

      <Stack.Navigator
      screenOptions={{
        headerShown: false
      }}>
        <Stack.Screen name="Login" component={LoginScreen} />
        <Stack.Screen name="Home" component={HomeScreen} />
        <Stack.Screen name="Profile" component={ProfileScreen} />
      </Stack.Navigator>

      <CustomNav Nav="Mobile" />

    </NavigationContainer>   
  </View>
  );
}
 

[ ./nav/индекс] index.js

 import React, {useEffect, useState} from 'react';
import {} from 'react-native';

import MobileNav from './mobile'
import WebsiteNav from './website'


const CustomNav = () => {
    const [viewing, setViewing] = useState('login');

    useEffect(() => {

        if(viewing === 'login'){
            console.log("Viewing Login")
        }else{
            console.log("Not Login")
        }

    }, []);

    return(
        null
    );
}
  
export default CustomNav;
 

Комментарии:

1. Не уверен, что это лучшее решение, но вы пробовали переместить экран входа в систему в отдельный навигатор стека? Таким образом, вы все равно сможете перейти от входа в систему к дому, не CustomNav показывая этого.

2. Я пытался это сделать, но проблема с подчеркиванием все еще заключается в том, чтобы указать одному компоненту переключиться на что-то другое, например, есть ли способ создать какое-то событие или что-то, что выполняется на маршруте, спасибо за ответ