微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Next.js-如何在URL中显示帖子名称而不是ID,并使其唯一?

如何解决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 举报,一经查实,本站将立刻删除。