How to store previous route in local storage using react functional component and react router

1.1k Views Asked by At

I am implementing a share post in my react web app. I am using react-share library. And I am passing the current URL using const shareUrl = window.location.href;

But the user tries to view the post using that URL which I shared. He is asked to log in first. .. This is because I have written Axios interceptor.

 axiosRequest.interceptors.response.use(
      (response) =>
     new Promise((resolve, reject) => {
  resolve(response);
}),
    (error) => {
if (!error.response) {
  return new Promise((resolve, reject) => {
    reject(error);
  });
}

if (error.response.status === 401) {
  sessionStorage.removeItem("token");

  window.location = "/";
} else {
  return new Promise((resolve, reject) => {
    reject(error);
      });
          }
      }
  );

But when the user is successfully logged in he redirects to the feeds page because

   dispatch(login(dataToSubmit))
      .then((response) => {
        window.sessionStorage.setItem("token", response.payload.token);
        window.location.replace("/feeds");
        // setData({...Data,email:values.email, password:values.password, 
      otp:response.data.result.otp})
      })

How can I direct the user to the URL which he was trying to access before he logged in.. I researched that I can store the previous route in local storage but how to implement that in react functional component,?

0

There are 0 best solutions below