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()
};

并使用钩子(Hook)设置该数据:

const [movie, setMovie] = useState<IMovie>(movieObj);

如何使用 nextjs 实现良好的解决方案?

最佳答案

您可以查看 nextjs document .如文档中所述,您可以通过 useRouter Hook 访问 URL slug。

import { useRouter } from 'next/router';

const router = useRouter();    
const { title } = router.query;

https://stackoverflow.com/questions/61427999/

相关文章:

python-3.x - 从 Python 中的多个文件夹读取多个 CSV 文件?

javascript - Material-UI + Next js - TypeError : t

python - Django ValueError : The view usermanager.

c# - udpclient 仅在本地接收广播(c#、Unity)

c# - 使用 Razor 页面时在 ASP .NET 3.1 核心 Controller 中处理异

typescript - 在 nestjs 中使用类验证器验证环境变量?

Python Folium Choropleth map - 图例分位数重叠

ios - 在 iPhone/iOS 的浏览器上录制视频 (MediaRecorder)

python - 是否可以使用自定义方法/属性覆盖外键关系

visual-studio-code - 在 vscode 的集成终端中运行命令后如何获取退出代码