Next.js-如何将ID从查询传递到getInitialProps函数

问题描述 投票:0回答:1

我想用db的文章构建一个简单的网站。我的问题是我需要使用服务器来呈现这些文章,并且可以使用Next.js文档中的getInitialProps函数来完成:https://nextjs.org/docs/api-reference/data-fetching/getInitialProps#getinitialprops-for-older-versions-of-nextjs

目前,它工作正常,但是我想实现按其ID获取文章,我的链接应该像这样:

http://localhost:3000/articles/<some_id>

我已经完成了,但是现在我想读取该ID并将其传递给getInitialProps函数,以仅针对一篇特定文章来调用我的API。我的问题是,我不知道如何传递router道具来从查询和调用API中获取该ID。

import { withRouter } from "next/router";
import fetch from "isomorphic-unfetch";

const Article = ({ router }) => {
  console.log(router);
  return (
    <div>
      <h1>Hello World</h1>
    </div>
  );
};

Article.getInitialProps = async props => {
  console.log(props);
  const res = await fetch(
    `https://admin.jozefrzadkosz-portfolio.pl/articles/${router.query.id}`
  );
  const articles = await res.json();
  return { articles };
};

export default withRouter(Article);
javascript reactjs fetch router next
1个回答
0
投票

[getInitialProps作为参数context对象获得,上面带有query

您应该在那里获得价值。

© www.soinside.com 2019 - 2024. All rights reserved.