Изменение ориентации сил бега main с помощью react-navigation в android - PullRequest
0 голосов
/ 18 июня 2020

Когда я хочу изменить ориентацию, мое приложение принудительно повторно визуализирует основное приложение, и я перехожу к начальному экрану приложения. Это происходит только в android. Я использую реагирующую навигацию следующим образом:

App.js
const App = (props) => {
    const [isLoadingComplete, setLoadingComplete] = React.useState(false);
    const [initialNavigationState, setInitialNavigationState] = React.useState();
    const containerRef = React.useRef();
    const ref = React.useRef();
    const { getInitialState } = useLinking(ref, {prefixes: ['myapp://'],});

    React.useEffect(() => {
    async function loadResourcesAndDataAsync() {
        try {
            setInitialNavigationState(await getInitialState());
        } catch (e) {
        } finally {
            setLoadingComplete(true);
        }
    }
        loadResourcesAndDataAsync();
    }, []);


   return (
            <View style={styles.container}>
                <NavigationContainer ref={containerRef} initialState={initialNavigationState} >
                    <Stack.Navigator>
                            <React.Fragment>
                                <Stack.Screen name="Dashboard" component={BottomTabNavigator}/>
                            </React.Fragment>
                    </Stack.Navigator>
                </NavigationContainer>
            </View>
            );
};


export default function BottomTabNavigator({ navigation, route }) {
    const routeName = route.state?.routes[route.state.index]?.name ?? INITIAL_ROUTE_NAME;
    return (

        <BottomTab.Navigator initialRouteName={INITIAL_ROUTE_NAME}>
            <BottomTab.Screen
                name="Dashboard"
                component={Dashboard}
                options={{
                    title: 'Dashboard',
                    tabBarIcon: ({ focused }) => <TabBarIcon focused={focused} name="ios-desktop" />,
                }}
            />
            <BottomTab.Screen
                name="Control"
                component={Control}
                options={{
                    title: 'Control',
                    tabBarIcon: ({ focused }) => <TabBarIcon  focused={focused} name="logo-game-controller-a" />,
                }}
            />
        </BottomTab.Navigator>
    );
}

Когда я нахожусь на экране «Управление» и меняю ориентацию, я перехожу к экрану «Панель инструментов». Как оставаться на экране управления, когда я меняю ориентацию в Android?

...