Я хочу получить доступ к аутентифицированному экрану с глубокой ссылки, используя реагирование навигации 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 начальных состояния:
- isReady : пользователь прошел проверку подлинности и может получить доступ к защищенным экранам.
- isLoading : первое состояние при открытии приложения, проверьте версию приложения ..... затем установите
isAuthentifying
состояние - isAuthentifying : навигатор аутентификации для регистрации и входа в систему.
- isBuilding : после аутентификации получите пользователя информации, затем установите состояние
isReady
Обратите внимание, что при открытии приложения по умолчанию устанавливается состояние isLoading
Затем я создал NavigationContainer, следуя эта ссылка для обработки глубоких ссылок
Как перенаправить на экран с аутентификацией, проходящий аутентификацию (обратите внимание, что у меня нет процесса автоматического входа в систему)