Search code examples
javascriptreactjsreact-routerurl-parameters

React Router Dom - Clear url parameters without refreshing the page


I do have some parameters passed by a link to an url, like :

https://mysite/post/list?success

Considering I'm with React JS and using React router dom, how should I do to clean the parameters without refreshing the page, in order to be back button friendly ? I'm aiming for the same page, without params.

Edit : Proposed here, this solution does not work for this case

  const queryParams = new URLSearchParams(location.search)
  queryParams.delete('success')
  history.replace({
    search: queryParams.toString(),
  })
    

It does work while treating params case to case (by applying "if" chains), but I'm searching for a function clearing them all at once - is there a way to do that with the .delete method ?


Solution

  • Found it !

       const queryParams = ""
       history.replace({
         search: queryParams,
       })
    

    'Twas dead simple and efficient. Closing.