首页 > 解决方案 > 如何在反应路由器中返回没有查询参数的上一个网址

问题描述

我的情况是,我想在提交表单后不经查询就返回上一个 url,并且表单是 multiStep,所以由于查询参数,url 已经更改了很多次。

例如:

https://localhost:3000/admin/users从那时开始创建一个新用户。我https://localhost:3000/new-user在填写表格时访问了。查询参数被添加了很多次,网址变成了https://localhost:3000/new-user?userType=2&page=1

现在提交后,我想从我开始的地方返回 url,https://localhost:3000/admin/users但我无法硬编码路径,因为我也会在其他地方使用相同的表单。我该怎么做?

标签: javascriptreactjsreach-router

解决方案


编辑:抱歉没有注意到您使用的是到达路由器。

所以在到达路由器中是这样的:

const Invoices = ({ navigate }) => (
  <div>
    <NewInvoiceForm
      onSubmit={async event => {
        const newInvoice = await createInvoice(
          event.target
        )
        // we pass -1 to the navigate prop to go to previous route
        navigate(-1)
      }}
    />
  </div>
)
;<Router>
  <Invoices path="invoices" />
  <Invoice path="invoices/:id" />
</Router>

推荐阅读