Реагировать на динамическую маршрутизацию - PullRequest
0 голосов
/ 22 ноября 2018

Мы развернули наше приложение реагирования на Azure. Мы добавляем динамический маршрут к ссылке, например, https://aovstorage.z23.web.core.windows.net/VK-SHOP. Этот " VK-SHOP " является динамическим и может быть любым.Но мы получаем 404-страницу не найдена ошибка.

Наш код маршрутизатора -

var pathArray = window.location.pathname.split('/');
        this.setState({ ...this.state, path: pathArray[1] })

<Router history={history}>
<div className="tabs">
<section id="page-content" className="page-wrapper">
<Route exact path={`/${this.state.path}`} component={ShopDashboard} />
<Route path={`/${this.state.path}/viewcart`} component={DGShopProductCart} />
<Route path={`/${this.state.path}/product/:id?`} component={DGShopProduct} />

<Route path="/not_found" component={NotFoundShop} status={404} />
</section>
</div>
</Router>

Затем, чтобы обработать эту ошибку, мы пытаемся перенаправить маршрут

const params = document.location.search.replace ('? Redirect =', '') .replace ('% 2F', '');

И обработать ошибку, используя страницу 404.html.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>404 Not Found | My App</title>
</head>
<body>
  <script>
    (function redirect() {
      if (document && document.location) {
        document.location.replace(`/?redirect=${encodeURIComponent(document.location.pathname)}`);
      }
    }());
  </script>
</body>
</html> 

введите описание изображения здесь

Это работает в Google Chrome, но не работает в других браузерах.

Спасибо за любую помощь!

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