Я создаю приложение iOS на реагирующем языке. Я использую реагировать навигации 5 для навигации. Текущая архитектура выглядит следующим образом: -
Приложение. js возвращает stackNavigator следующим образом: -
export const TransportNavigator = props => {
return (
<TransportStackNavigator.Navigator
initialRouteName={'Transport'}
screenOptions={defaultNavOptions}>
<TransportStackNavigator.Screen
name="Transport"
component={TransportMainScreen}
options={TransportMainScreenOptions}
/>
<TransportStackNavigator.Screen
name="TransportEnd"
component={TransportEndScreen}
options={TransportEndScreenOptions}
/>
</TransportStackNavigator.Navigator>
);
};
В компоненте TransportMainScreen я использую вложенный BottomTabNavigator, как показано ниже: -
function TransportMainScreen () {
return(
<bottomTabNavigator.Navigator
>
<bottomTabNavigator.Screen
name="TransportHomeScreen"
component={TransportHomeScreen}
/>
),
}}
/>
<bottomTabNavigator.Screen
name="TransportStopsScreen"
component={TransportStopsScreen}
/>
</bottomTabNavigator.Navigator>
)
}
Я использую ax ios для выборки данных и response-redux для глобального управления состоянием. В компоненте TransportMainScreen я запускаю выборку данных каждые две минуты в хуке useEffect, который отображает bottomTabNavigator при каждом получении данных.
Проблема: - Если моя текущая фокусированная вкладка - TransportStopsScreen, и если происходит выборка данных, она переключает вернуться к TransportHomeScreen, так как это первый компонент в bottomTabNavigator. Я хочу, чтобы эта вкладка оставалась в фокусе, даже если данные извлекаются.
Ожидается: - 1. Сфокусированная вкладка не должна включать выборку данных.
Факт: - Вкладка возвращается на главную вкладку независимо от того, на чем фокусируется.
Как я могу достичь желаемого поведения?
Спасибо !! Анкур