The different between push() and replace() is that push() go to a new route and adds a new item to the browser history. replace() , however, does the same but does not push a new entry into the history stack.
// literal string path
path:'home'})// named route
userId:'123'}})// with query, resulting in /register?plan=private