Удалить # / из пути, если страница индекса - PullRequest
0 голосов
/ 24 апреля 2020

Я сделал встроенный виджет в модальном окне. Чтобы вставить его в любой веб-сайт.

В этом виджете я могу изменить 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]);
  }
}

1 Ответ

0 голосов
/ 24 апреля 2020

Вы также можете использовать document.location.href.replace('#/', '') для удаления символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...