Вікно. подія onpopstate є автоматично запускається браузером, коли користувач переходить між станами історії, встановленими розробником.
По суті, це проблема, яку вирішують pushState() , replaceState() і подія popstate. Вони дозволяє нам синтезувати записи історії та отримувати сповіщення, коли поточний запис історії сеансу змінюється на один із цих записів (наприклад, через те, що користувач натиснув кнопки «Назад» або «Вперед»).
Слухач подій “popstate” у React є запускається, коли змінюється навігація історії браузера. Це дозволяє розробникам реагувати на натискання кнопок назад і вперед, забезпечуючи плавну навігацію в програмі.
Як і майже з усіма подіями в JavaScript, для обробки popstate ми можемо використовувати:
- Властивість обробника onpopstate.
- Метод addEventListener() передає йому 'popstate' як перший аргумент.
Велика різниця в тому, що тоді як pushState створить новий запис в історії браузера, replaceState замінить лише поточний стан. Як побічний ефект цього, використання методу replaceState змінить URL-адресу в адресному рядку без створення нового запису історії.
Але pushState() має кілька переваг: нова URL-адреса може бути будь-якою URL-адресою з того самого джерела, що й поточна URL-адреса. У контрасті, налаштування window.location тримає вас у тому самому документі, лише якщо ви змінюєте лише хеш. Змінювати URL-адресу сторінки необов’язково.