Я сделал встроенный виджет в модальном окне. Чтобы вставить его в любой веб-сайт.
В этом виджете я могу изменить sh через HashRouter.
И когда я закрываю модальное окно, я хочу удалить "# /" из URL.
Я решил сделать это через (или есть другой способ?)
window.history.replaceState(null, null, document.location.href.split('#')[0])
Но Я не понимаю, в какой момент я должен назвать это (после запуска URL-адрес изменится на #/
)
Последний попытался в дочернем компоненте, в котором обновление запускается последним, вызвать componentDidUpdate
.
Иерархия:
index. js -> ParentComponent -> ChildComponent
Parent
render() {
return (
<HashRouter>
<ChildComponent />
</HashRouter>
);
}
Child
componentDidUpdate() {
if (!location.hash.includes('search')) {
window.history
.replaceState(null, null, document.location.href.split('#')[0]);
}
}