| 123456789101112131415161718192021222324252627282930313233343536 |
- import {useLocation} from 'react-router-dom';
- import {useEffect, useRef, useState} from 'react';
- import {toast} from "react-toastify";
- import {ROUTE_PATH} from "@constants/routes";
- const usePreviousRoute = () => {
- const location = useLocation();
- const [preLocation, setPreLocation] = useState({});
- // const prevLocation = useRef(null);
- // const currentLocation = useRef(null);
- const [currentLocation, setCurrentLocation] = useState({});
- const [gameID, setGameID] = useState(0);
- const parseGameID = ()=>{
- let pathname=location.pathname;
- let gid=0;
- if (pathname.startsWith(ROUTE_PATH.GAME)){
- let path="";
- let temp=pathname.split("?");
- path=temp.shift();
- temp=path.split("/");
- path=temp.pop();
- gid=Number(path);
- }
- setGameID(gid);
- }
- useEffect(() => {
- setPreLocation({...currentLocation})
- setCurrentLocation({...location});
- parseGameID();
- }, [location.pathname]);
- return {
- preLocation,
- gameID
- };
- }
- export default usePreviousRoute
|