Удалить стек навигации для экрана входа в систему после входа пользователя - PullRequest
0 голосов
/ 03 апреля 2020

Я новичок в React Native. Я так запутался в стеке навигации.

Вот мой код.

const AppNavigator = () => {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="Login" component={LoginScreen} options={{ title: 'login' }}/>
        <Stack.Screen name="Home" component={HomeScreen} options={{ title: 'home' }}/>
      </Stack.Navigator>
    </NavigationContainer>
  );
};

Пользователи увидят экран входа в систему после запуска этого приложения. А вот LogInScreen.

const LogInScreen = ({ navigation }) => {
  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <Button 
        title="google login"
        onPress={() => 
          navigation.navigate('Home')
        }
      />
    </View>
  );
};

Пользователи увидят домашний экран после того, как нажмут кнопку входа в систему. Но проблема в том, что они все еще могут видеть кнопку возврата на главном экране. После входа в систему нет необходимости показывать экран входа пользователям. Следовательно, мне нужно сбросить стек, чтобы удалить кнопку возврата на главном экране.

1 Ответ

0 голосов
/ 03 апреля 2020

Если вы хотите удалить кнопку «Назад» на главном экране, вы можете использовать опцию headerLeft, как указано здесь .

Я думаю, что этого достаточно, если вы разрабатываете за iOS. Для Android пользователь все еще может использовать кнопку возврата для возврата go. Я думаю, что сброс стека и навигация пользователя по домашней странице также является хорошим решением. Вы можете заглянуть в этот пост

...