You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

App.js 918B

123456789101112131415161718192021222324252627282930313233343536
  1. import React, { useEffect } from "react";
  2. import { Router } from "react-router-dom";
  3. import { Helmet } from "react-helmet-async";
  4. import i18next from "i18next";
  5. import history from "./store/utils/history";
  6. import MainContainer from "./components/Section/MainContainer";
  7. import AppRoutes from "./AppRoutes";
  8. import { useDispatch } from "react-redux";
  9. import { refreshUserToken } from "./store/actions/login/loginActions";
  10. import { BASE_PAGE } from "./constants/pages";
  11. function App() {
  12. const dispatch = useDispatch();
  13. useEffect(() => {
  14. if (history.location.pathname === BASE_PAGE) {
  15. return;
  16. }
  17. dispatch(refreshUserToken());
  18. }, []);
  19. return (
  20. <>
  21. <Router history={history}>
  22. <Helmet>
  23. <title>{i18next.t("app.title")}</title>
  24. </Helmet>
  25. <MainContainer>
  26. <AppRoutes />
  27. </MainContainer>
  28. </Router>
  29. </>
  30. );
  31. }
  32. export default App;