Возможно ли использовать BrowserRouter с React для обработки не симпатичных URL-адресов? - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь bootstrap моего приложения React в плагине Wordpress. Когда плагин загружается, URL-адрес /wp-admin/admin.php?page=my-plugin-name, и это нельзя изменить. Я пытался переписать URL и использовать /wp-admin/my-plugin-name/, но это был не- go, поэтому, к сожалению, я должен найти другой вариант.

Вот мой маршрутизатор:

<Router basename="/wp-admin/admin.php">
  <Switch>
    <Route exact path="/">
      <DashboardPage />
    </Route>
    <Route exact path="/account">
      <AccountPage />
    </Route>
    <Route exact path="/products">
      <ProductsPage />
    </Route>
  </Switch>
</Router>

В настоящее время панель инструментов (по умолчанию) загружается при посещении /wp-admin/admin.php?page=my-plugin-name в моем браузере. Но если я захожу на любую другую страницу, например /wp-admin/admin.php?page=my-plugin-name%2Fproducts (обратите внимание, что Wordpress автоматически меняет my-plugin-name/products на my-plugin-name%2Fproducts), страница панели инструментов по-прежнему показывает.

Я также пытался использовать /wp-admin/admin.php?page=my-plugin-name для basename с тем же результатом.

Как сделать другие страницы загружаемыми? Я могу сделать эту работу, используя HashRouter, но я бы хотел использовать BrowserRouter.

1 Ответ

0 голосов
/ 19 февраля 2020

место

 <Route exact path="/">
      <DashboardPage />
    </Route>

как ваш последний маршрут в списке

...