import React, { useEffect, lazy, Suspense } from 'react'; import { Route, Switch } from 'react-router-dom'; import { connect } from 'react-redux'; import firebase from './firebase/firebase'; import * as actions from './store/actions/actions'; import Layout from './components/UI/Layout/Layout'; import Loader from './components/UI/Loader/Loader'; const About = lazy(() => import('./components/Pages/About/About')); const Cart = lazy(() => import('./components/Pages/CartPage/CartPage')); const Checkout = lazy(() => import('./components/Pages/Checkout/Checkout')); const Disclaimer = lazy(() => import('./components/Pages/Disclaimer/Disclaimer') ); const Error404 = lazy(() => import('./components/Pages/404/Error404')); const FAQ = lazy(() => import('./components/Pages/FAQ/FAQ')); const Home = lazy(() => import('./components/Pages/Home/Home')); const Login = lazy(() => import('./components/Pages/Login/Login')); const Logout = lazy(() => import('./components/Pages/Logout/Logout')); const Menu = lazy(() => import('./components/Pages/Menu/Menu')); const Orders = lazy(() => import('./components/Pages/Orders/Orders')); const Privacy = lazy(() => import('./components/Pages/Privacy/Privacy')); const Register = lazy(() => import('./components/Pages/Register/Register')); const Terms = lazy(() => import('./components/Pages/Terms/Terms')); function App(props) { useEffect(() => { firebase.auth().onAuthStateChanged((user) => { props.authChangedHandler(user); }); }, [props]); return ( <> }> ); } const mapDispatchToProps = (dispatch) => ({ authChangedHandler: (user) => dispatch(actions.authChangedHandler(user)), }); export default connect(null, mapDispatchToProps)(App);