While pushState()
lets you add a new state to the history, replaceState()
allows you to edit the current history state.
history.pushState({}, '', '/posts')
const state = { post: 'first' }
history.pushState(state, '', '/post/first')
const state = { post: 'second' }
history.replaceState(state, '', '/post/second')
If you now call
history.back()
the browser goes straight to /posts
, since /post/first
was replaced by /post/second
Lessons in this unit:
0: | Introduction |
1: | Navigating the history |
2: | Add an entry to the history |
3: | ▶︎ Modify history entries |
4: | Access the current history entry state |
5: | The `popstate` event |
6: | The `hashchange` event |