如何解决Next.js-如何在URL中显示帖子名称而不是ID,并使其唯一?
我进行了搜索,但是只能在Laravel和PHP中找到示例,我需要知道如何使用Next.js进行操作。
我所知道的是,我可以像这样通常的方式在Next.js中进行动态路由...
/pages/post/[postId]
会翻译为/pages/post/23435
,这样,如果有人拥有URL,我可以用[postId]
来抓取router.query
并显示正确的帖子对用户来说,很容易。
但是,如果我想在URL中显示帖子名称而不是ID,该怎么办?就像Udemy在单词之间使用破折号...
https://www.udemy.com/course/your-custom-react-component/learn/lecture/
同时如果有人拥有该URL,我仍然可以向他们显示正确的帖子?
我知道我可以做/pages/post/[postName]
并在URL中显示帖子名称,但这将是唯一的,并且将无法显示正确的帖子。
我该怎么做?
解决方法
您可以按照建议使用postName
进行操作,然后注意postName是唯一的,并且每个名字都映射到postId
(这是您需要自己处理的事情;因此在您的数据库中,您将为每个postName
生成一个唯一的子弹
另一种解决方案是同时显示名称和ID,例如/pages/post/[postName]/[postId]
。您可以使用多个参数,请检查https://nextjs.org/docs/routing/dynamic-routes
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。