I need to get the previous url in a nextjs project. I found this but it doesn't help because it always prints me the base url (http://localhost:3000/) with this method (document.referrer). I also tried to push a state into window.history based on official developer mozilla doc.
In the last case I click on a link and it redirects me to another page. On this page I need to know where I come from. I tried:
//pathname is a string containing the actual pathname
history.pushState({prevPath: pathname},pathname)
If I print history in the new page then I don't see any prevState in the state field.
You can simply create a state which is an object that has two properties: previousUrl and currentUrl like this:
const urlReducer = (state={previousUrl: null, currentURL: null},action) => {
switch(action.type){
case "SET_URLS":
return {previousUrl: state.currentUrl, currentUrl: window.location.href}
default:
return state;
}
}
Then all you need to do is dispatch an action in every page you visit like this:
const dispatch = useDispatch();
useEffect(()=>{
dispatch({type: "SET_URLS"});
},[]);