Nextjs 嵌套动态路由

时间:2021-06-15 12:51:08

标签: reactjs next.js

http://localhost:3000/category/leadership/expert

http://localhost:3000/category/topics/technology/business-tech-blogs

我有这样的类别路线。和当前文件看起来像这样 pages/category/[...slug].js。它使用 ISR 并且工作没有问题。

现在我需要为这些路由中的每一个创建一个用于提要页面的路由。 示例

http://localhost:3000/category/leadership/expert/feed

http://localhost:3000/category/topics/technology/business-tech-blogs/feed

如何为此定义文件。这将是 SSR,因为 ISR 不支持 xml 内容。

我尝试了 pages/category/[slug]/[...params].js 并且它有效,但随后它打破了我的类别页面。

1 个答案:

答案 0 :(得分:0)

您无需创建新路线。您唯一需要做的就是检查最后一个参数,如果是 feed,则呈现您的 Feed 页面。

代码看起来像这样

const Category = () => {
  const router = useRouter();
  const { params } = router.query;

  const lastParam = Array.isArray(params) ? [...params].pop() : null;

  if (lastParam === 'feed') {
    return (
      <span>
        Feed Page
      </span>
    );
  }

  return (
    <span>
      Category Page
    </span>
  );
};
相关问题