Обработка глубоких ссылок с помощью процедуры аутентификации реагирования навигации v5 - PullRequest
0 голосов
/ 26 февраля 2020

Я хочу получить доступ к аутентифицированному экрану с глубокой ссылки, используя реагирование навигации v5 с экспо Итак, я следовал за аутентификационным потоком из реагирующей навигации и закончил навигатором запуска, как это:

const StartupNavigator = (props: Partial<StackNavigatorProps>): ReactElement => {
    const {startUp} = useStartUp();

    const renderStacks = () => {
        if (startUp.isReady) {
            return <Stack.Screen name={Routes.HOME} component={BottomTabNavigator}/>;
        }
        if (startUp.isLoading) {
            return <Stack.Screen name={Routes.CHECK} component={CheckScreen}/>;
        }
        if (startUp.isBuilding) {
            return <Stack.Screen name={Routes.BUILD} component={BuildScreen}/>;
        }
        if (startUp.isAuthentifying) {
            return <Stack.Screen name={Routes.AUTH} component={AuthNavigator}/>;
        }
    };

    return (
        <Stack.Navigator {...props} headerMode={"none"}>
            {renderStacks()}
        </Stack.Navigator>
    );
};

Итак, у меня есть 4 начальных состояния:

  1. isReady : пользователь прошел проверку подлинности и может получить доступ к защищенным экранам.
  2. isLoading : первое состояние при открытии приложения, проверьте версию приложения ..... затем установите isAuthentifying состояние
  3. isAuthentifying : навигатор аутентификации для регистрации и входа в систему.
  4. isBuilding : после аутентификации получите пользователя информации, затем установите состояние isReady

Обратите внимание, что при открытии приложения по умолчанию устанавливается состояние isLoading

Затем я создал NavigationContainer, следуя эта ссылка для обработки глубоких ссылок

Как перенаправить на экран с аутентификацией, проходящий аутентификацию (обратите внимание, что у меня нет процесса автоматического входа в систему)

...