我正试图在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>
作为列表中的最后一条路线