Я не использую приставку (используя mobx), но обычно использую приведенный ниже код для обновления URL-адреса без обновления страницы.
Эта первая часть прослушивает URL-адрес из второго фрагмента @computed get url()
и автоматически обновляет URL-адрес при его изменении.
autorun(() => {
const path = store.navigation.url
if (path !== window.location.pathname) {
window.history.pushState(null, null, path)
}
})
И эта часть просто для того, чтобы выяснить, что добавить в url ex: нажмите вкладку, которая изменяет значение @observable view: View = "home"
на @observable view: View = "hooks"
URL перейти с site.com на site.com/hooks
@observable view: View = "home"
......
@computed get url() {
switch (this.view) {
case "home":
return '/'
case "hooks":
return 'hooks'
case "fields":
return "fields"
case "validation":
return 'validation'
case "reusable":
return 'reusable'
case "profile":
return 'profile'
case "userProfile":
return 'userProfile'
case "review":
return 'review'
}
}