javascript - 如何在反应路由器中返回没有查询参数的上一个网址
问题描述
我的情况是,我想在提交表单后不经查询就返回上一个 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
但我无法硬编码路径,因为我也会在其他地方使用相同的表单。我该怎么做?
解决方案
编辑:抱歉没有注意到您使用的是到达路由器。
所以在到达路由器中是这样的:
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>