javascript - NextJs 获取下一页点击项的内容
问题描述
我有一个简单的 nextjs 应用程序,在主页上我只显示了 10 部电影的列表,带有一个按钮/链接,它打开了该电影的特定页面。在该页面上,我想显示该电影的所有内容。
我的第一种方法是将电影 ID 添加到链接中,如下所示:
<Link href="/movies/[title]" as={`/movies/${movie._id}-${movie.title}`} prefetch>
<IconButton aria-label="Open">
<LaunchIcon />
</IconButton>
</Link>
并从下一页的 url 中修剪 id,并向 api 发送一个附加请求以获取该电影的信息。但我很确定这不是一个好习惯。
在单个电影组件 /movies/[title].tsx
中。我试图创建一个基本的电影对象
const movieObj = {
_id: 1,
title: "",
release_at: new Date(),
created_at: new Date()
};
并使用钩子设置该数据:
const [movie, setMovie] = useState<IMovie>(movieObj);
如何使用 nextjs 实现良好的解决方案?
解决方案
您可以查看nextjs 文档。如文档中所述,您可以通过 useRouter 挂钩访问 URL slug。
import { useRouter } from 'next/router';
const router = useRouter();
const { title } = router.query;
推荐阅读
- laravel - 在邮递员标头 laravel 中设置命令令牌的 API 授权
- cypress - 赛普拉斯自动化测试的架构和框架
- ios - ios swift图库库性能问题,一旦加载图像/视频列表,数据来自iCloud
- opencv - 无缝克隆的结果面边缘有一些明亮的白色或黑色部分
- python - 在python Tkinter中读取动态复选框值
- python - 使用 Prim 算法的最小生成树中的错误
- java - (java) 我的素数生成器最多只能工作 200
- python - 如何找到一个数字的质因数?花了几个小时试图弄清楚为什么 if 和 else 会同时执行
- javascript - 如何使用库 SortableJS 提交新排序的元素列表
- r - 如何缩小和放大堆叠条形图中特定变量的视觉比例?