Невозможно выйти из Firebase аутентификации с использованием приставки. Сессия пользователя все еще там - PullRequest
0 голосов
/ 15 января 2019

Резюме:
Я использую Firebase для аутентификации. Я пытаюсь выделить, используя метод firebase signout (). После выхода пользователь переходит на сцену входа с помощью Actions.auth (). [auth - это имя моей формы входа в систему]

Проблема:
После использования выхода он правильно переходит на экран входа в систему. Но когда я вхожу снова, он показывает мне пустой экран. И когда я занимаюсь какой-либо деятельностью, например коснитесь экрана в пустом месте, затем данные появятся снова.

Я думаю, что делаю что-то не так [очевидно, ха-ха], или мне не хватает некоторых основ.

Нужна помощь.

Все, что мне нужно, чтобы выйти из системы и перейти к экрану входа в систему.

1. Я создал действие в types.js

export const LOG_OUT_USER = 'log_out_user';

2. Я создал действие в AuthActions.js и импортировал сверху LOG_OUT_USER и добавил код, как показано ниже

 export const logOutUser = () => dispatch => {
  firebase.auth()
    .signOut()
    .then(() => {
      console.log('Sign-out successful');
      dispatch({ type: LOG_OUT_USER });
      Actions.auth();
    })
    .catch(error => {
      console.log(error);
    });
};

3. в AuthReducer.js я импортировал 'LOG_OUT_USER' и добавил регистр, как показано ниже

const INITIAL_STATE = {
  email: '',
  password: '',
  user: null,
  error: '',
  loading: false
 };


 case LOG_OUT_USER:
      return INITIAL_STATE;

4. Я добавил кнопку выхода из списка сотрудников.

//imported the action
import { employeesFetch, logOutUser } from '../actions';

//added function after 'componentWillReceiveProps' function
onButtonPressLogout() {
    console.log('logout');
    this.props.logOutUser();
  }



//added card section with logout button
<CardSection>
            <Button onPress={this.onButtonPressLogout.bind(this)}>
                Log Out
            </Button>
</CardSection>

//exported at the bottom 
export default connect(mapStateToProps, { employeesFetch, logOutUser })(EmployeeList);

Если вы хотите посмотреть репо: https://github.com/hemantc09/react-native-Manager-Employee-App

Просто скачайте и запустите команду: - react-native run-ios

Ouput: Первый вход в систему:

image

После выхода из системы и повторного входа: показывает. Пустой экран. В консоли я вижу, что пользовательские данные все еще печатаются даже после выхода из системы. Что мне здесь не хватает.

image

Если вы хотите посмотреть с помощью testflight, дайте мне знать. Я пришлю вам приглашение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...