是否可以将BrowserRouter与React一起用于处理URL非漂亮URL



我正试图在Wordpress插件中引导我的React应用程序。加载插件时,URL为/wp-admin/admin.php?page=my-plugin-name,这一点无法更改。我试过重写URL并使用/wp-admin/my-plugin-name/,但这是不可能的,所以不幸的是,我不得不找到另一个选项。

这是我的路由器:

<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时,会加载Dashboard(默认(。但是,如果我访问任何其他页面,例如/wp-admin/admin.php?page=my-plugin-name%2Fproducts(请注意,Wordpress会自动将my-plugin-name/products更改为my-plugin-name%2Fproducts(,Dashboard页面仍会显示。

我也尝试过用/wp-admin/admin.php?page=my-plugin-name代替basename,得到了同样的结果。

如何使其他页面可加载?我可以使用HashRouter来完成这项工作,但我想使用BrowserRouter

放置

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

作为列表中的最后一条路线

最新更新