mirror of
https://github.com/rjNemo/devbook_ts
synced 2026-06-10 20:46:39 +00:00
refactor enhance to store
This commit is contained in:
parent
6215346269
commit
7bd8c49305
5 changed files with 15 additions and 23 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue