How does react-router v4 change the url without refreshing the page?

I can understand that the hash changes do not refresh the page in

hash mode.

but after using react-router 4, I found that the default is not hash mode, and the page does not reload after router changes url.

want to know what technology it is


history
history.pushState , history.replaceState modify history
history.popstate listening history

Menu