Реакция: Выход из Firebase - PullRequest
       24

Реакция: Выход из Firebase

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

Таким образом, в настоящее время я пытаюсь вывести пользователя из firebase через мое приложение с помощью кнопки выхода. В моем проекте я использую реактив-редукс с реактив-редукс-огненной базой, редукс-thunk и redux-persist. Моя проблема в том, что, хотя я использовал вызов для выхода из реакции-redux-firebase, он не выходит из него.

Вот мои настройки для redux

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import {BrowserRouter} from 'react-router-dom';
import {createStore, applyMiddleware, compose} from 'redux';
import {Provider} from 'react-redux';
import allReducers from './reducers';
import thunk from 'redux-thunk';
import firebase from './Firebase';
import {persistStore, persistReducer} from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import {PersistGate} from 'redux-persist/integration/react';
import {ReactReduxFirebaseProvider, getFirebase} from 'react-redux-firebase';


const persistConfig = {
  key: 'root',
  storage,
  whitelist: [],
  blacklist: ['firebase', 'firestore']
}

const persistedReducer = persistReducer(persistConfig, allReducers)

const store = createStore(
  persistedReducer,
  compose(
    applyMiddleware(thunk.withExtraArgument({getFirebase})),
    window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
  ));

const persistor = persistStore(store);

const rrfConfig = {
  userProfile: 'users',
  useFirestoreForProfile: true
};

const rrfProps = {
  firebase,
  config: rrfConfig,
  dispatch: store.dispatch,

}

ReactDOM.render(
  <Provider store={store}>
    <ReactReduxFirebaseProvider {...rrfProps}>
      <BrowserRouter>
        <PersistGate persistor={persistor}>
          <App />
        </PersistGate>
      </BrowserRouter>
    </ReactReduxFirebaseProvider>
  </Provider>,
  document.getElementById('root')
);
serviceWorker.unregister();

Вот мой компонент, в котором я пытаюсь выйти из системы

import React from 'react';
import {useFirebase} from 'react-redux-firebase';
const NavBar = ({history}) => {
    const firebase = useFirebase();
    const handleSignout = () => {
        firebase.logout().then(history.push('/login'));
    }
    return (
    <div>
        <button onClick={handleSignout}>Sign out</button>
    </div>
    )
}

export default NavBar;

Из того, что я прочитал, вызов выхода из этой установки должен стереть хранилище, поэтому я пытаюсь поддерживать состояние других моих состояний (не включая firebase /firestore).

Если бы кто-то мог пролить свет на ситуацию, я бы оценил. Спасибо!

...