Реагировать по умолчанию на Nested Nested Navigation - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть реактивный проект с вложенным навигатором и наблюдаю странное поведение. Навигатор вкладок может привести к стекам навигатора страниц (я упростил, у вкладки и стека больше экранов). Это работает, однако первый экран из отображаемого стека становится по умолчанию, который отображается при нажатии на кнопку «Инвестировать» на вкладке, несмотря на параметр initialRouteName. Поэтому, если пользователь сначала нажимает «airdrop» на панели инструментов, становится невозможным получить доступ к первому экрану «инвестировать» без специальной кнопки c на странице airdrop, что довольно неудобно (особенно если в стеке есть страницы или так). Как я могу решить это?

const Tab = createBottomTabNavigator();

function MyTab() {
    const { language, theme } = useContext(JubileeContext );
    const iconSize = 24
    return ( 
    <Tab.Navigator tabBarOptions={{
                activeTintColor: themes[theme].color2,
                labelStyle: { fontSize: 12 }
            }}
    >
        <Tab.Screen name="Dashboard" component={DashboardScreen} options={{
            tabBarLabel: strings[language].bottom_navbar.dashboard,
            tabBarIcon: ({ color, size }) => (
                <Icon name="gauge" color={color} size={iconSize} />
                ),
            }}
        />
        <Tab.Screen name="Invest" component={Invest} options={{
            tabBarLabel:strings[language].bottom_navbar.invest,
            tabBarIcon: ({ color, size }) => (
            <Icon name="chart-line" color={color} size={iconSize} />
            ),
            }}
        />
    </Tab.Navigator>
    );
}

//Stack
const InvestStack = createStackNavigator( );
function Invest() {
    return(
        <InvestStack.Navigator
            screenOptions={{
                headerShown: false
            }}
            initialRouteName="Invest"
        >
            <InvestStack.Screen name="Invest" component={InvestScreen} />
            <InvestStack.Screen name="Airdrop" component={AirdropScreen} />
        </InvestStack.Navigator>
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...