You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React路由中不通过URL传递id参数?附解决方案

问题描述

我想要做一个根据ID加载对应内容的页面,但页面URL不能包含这个ID。目前我用的路由是:

<Route path="/schedule/:url" element={<SchedulePage />} />

这个路由会生成类似 website.com/schedule/[自定义内容] 的URL。但现在的问题是,SchedulePage 需要展示通过ID获取的信息,我能想到的方法只有用路由参数,但不想把ID放到URL里。我试过把路由改成:

<Route path="/schedule/:url/:id?" element={<SchedulePage />} />

想实现不包含ID的访问,但完全没用。

解决方案

在STerliakov的帮助下,我找到了可行的解决办法:使用Mongoose的findOne()函数,创建一个用户自定义的唯一字符串,让它起到和_id一样的作用——作为查询单个对象的唯一标识。这样就可以通过这个自定义字符串(也就是路由里的:url参数)去数据库中查询对应的内容,不用把真实ID暴露在URL里了。

内容的提问来源于stack exchange,提问作者Stefan Lotz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 14:39:55