【问题标题】:Possible to use BrowserRouter with React to handle URLs non-pretty URLs?可以使用带有 React 的 BrowserRouter 来处理非漂亮的 URL 吗?
【发布时间】:2020-02-18 20:47:12
【问题描述】:

我正在尝试在 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 时,仪表板(默认)会加载。但是,如果我访问任何其他页面,例如 /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

【问题讨论】:

    标签: reactjs wordpress react-router url-routing


    【解决方案1】:

    地点

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

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

    【讨论】:

    • 谢谢。不幸的是,这似乎并不能解决问题。
    猜你喜欢
    • 1970-01-01
    • 2014-09-24
    • 2013-07-09
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 2017-09-05
    • 2012-05-07
    • 2013-08-30
    相关资源
    最近更新 更多