refactor enhance to store

This commit is contained in:
Ruidy Nemausat 2020-05-14 17:12:29 +02:00
parent 6215346269
commit 7bd8c49305
5 changed files with 15 additions and 23 deletions

View file

@ -3,10 +3,8 @@ import React, {FC} from 'react';
import {Link} from 'react-router-dom';
import * as ROUTES from '../constants/routes';
//Redux
import {compose} from '@reduxjs/toolkit';
import {connect} from 'react-redux';
import {withFirebase, WithFirebaseProps} from 'react-redux-firebase';
import {selectProfile} from '../store/firebase';
import {WithFirebaseProps} from 'react-redux-firebase';
import {enhance} from '../store/firebase';
// Style
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
import {faCode, faSignOutAlt, faUser} from '@fortawesome/free-solid-svg-icons';
@ -89,6 +87,4 @@ const NavBar: FC<IProps> = ({firebase, isEmpty, isLoaded}) => {
};
/** connect HOC subscribes to the store */
const enhance = compose<FC>(connect(selectProfile), withFirebase);
export default enhance(NavBar);

View file

@ -1,9 +1,7 @@
import React, {FC} from 'react';
// Redux
import {compose} from '@reduxjs/toolkit';
import {connect} from 'react-redux';
import {withFirebase, WithFirebaseProps} from 'react-redux-firebase';
import {selectProfile} from '../store/firebase';
import {WithFirebaseProps} from 'react-redux-firebase';
import {enhance} from '../store/firebase';
// Routing
import {Link} from 'react-router-dom';
import * as ROUTES from '../constants/routes';
@ -105,5 +103,4 @@ const Dashboard: FC<IProps> = ({
);
};
const enhance = compose<FC>(connect(selectProfile), withFirebase);
export default enhance(Dashboard);

View file

@ -1,9 +1,7 @@
import React, {FC, useState} from 'react';
// Redux
import {compose} from '@reduxjs/toolkit';
import {connect} from 'react-redux';
import {WithFirebaseProps, withFirebase} from 'react-redux-firebase';
import {selectProfile} from '../store/firebase';
import {WithFirebaseProps} from 'react-redux-firebase';
import {enhance} from '../store/firebase';
// Routing
import {Link, Redirect} from 'react-router-dom';
import * as ROUTES from '../constants/routes';
@ -107,6 +105,4 @@ const SignIn: FC<IProps> = ({firebase, isEmpty, isLoaded}) => {
};
/** subscribe to store and firebase */
const enhance = compose<FC<IProps>>(connect(selectProfile), withFirebase);
export default enhance(SignIn);

View file

@ -3,10 +3,8 @@ import React, {FC, useState} from 'react';
import {Link, Redirect} from 'react-router-dom';
import * as ROUTES from '../constants/routes';
// Redux
import {compose} from 'redux';
import {connect} from 'react-redux';
import {withFirebase, WithFirebaseProps} from 'react-redux-firebase';
import {selectProfile} from '../store/firebase';
import {WithFirebaseProps} from 'react-redux-firebase';
import {enhance} from '../store/firebase';
import User, {newUser} from '../models/User';
// Style
import GoogleButton from 'react-google-button';
@ -140,6 +138,4 @@ const SignUp: FC<IProps> = ({firebase, isEmpty, isLoaded}) => {
};
/** subscribe to store and firebase */
const enhance = compose<FC<IProps>>(connect(selectProfile), withFirebase);
export default enhance(SignUp);

View file

@ -1,6 +1,13 @@
import {FC} from 'react';
// Redux
import {compose} from '@reduxjs/toolkit';
import {connect} from 'react-redux';
import {withFirebase} from 'react-redux-firebase';
import {RootState} from '..';
/** export firebase authentication */
export const selectAuthState = (state: RootState) => state.firebase.auth;
/** export current user profile */
export const selectProfile = (state: RootState) => state.firebase.profile;
/** subscribe to firebase and profile */
export const enhance = compose<FC>(connect(selectProfile), withFirebase);