首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getServerSideProps的正确用法?

getServerSideProps的正确用法?
EN

Stack Overflow用户
提问于 2021-08-13 14:19:36
回答 1查看 797关注 0票数 1

我最近一直在尝试用NextJS创建一个网络应用程序。我知道一些web开发的基础知识,但我在使用NextJS时有点迷失,因为我以前也没有做过任何反应。

我尝试从API中获取数据,并在我的页面中使用这些数据。我有点挣扎,但最终我得到了getServerSideProps的帮助。

我的问题是,如何在我的应用程序中多次使用getServerSideProps,以便获取许多其他路由?我尝试在不同的文件中使用getServerSideProps,在一个函数中使用它的响应,然后将其作为组件导出并使用它,这样如果有意义的话,我可以使用“获取getServerSideProps响应的组件”,但是在尝试这样做时有许多不同的错误。

有人能解释一下它的实际工作原理以及我如何解决我的问题吗?如果它不能这样工作,我如何才能使它工作呢?

下面是一个使用Coinbase的API的示例:

代码语言:javascript
复制
import { useState } from 'react'
import fetch from 'isomorphic-fetch'

export const getServerSideProps = async () => {

  const res = await fetch('https://api.coinbase.com/v2/prices/ETH-USD/buy')
  const data = await res.json()

  return {
    props: {
      ethprice: data
    }
  }
};

然后,我在我的家庭功能中使用"ethprice“,例如:

代码语言:javascript
复制
export default function Home({ ethprice }) {
  return (

页面内容,divs,文本等.

代码语言:javascript
复制
  {etherprice.data.amount}

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-08-13 14:26:29

getServerSideProps是特定于特定文件的,您不能只以任何您想要的方式使用它。

代码语言:javascript
复制
const Example = (props) => {
  return // this is your component
}

export const getStaticProps = async () => {
  // this will provide props specifically for 'Example'
}

更多的是,getStaticProps只在静态页面生成时运行一次,以后不再运行,同时只为该特定组件获取支持。因此,您无法从其中获取实时数据,只需要生成页面所需的数据(如页面标题)。

如果您正在寻找更动态的东西,可以在运行时获取道具,您可以查看getServerSideProps。在那之后,如果你需要的话,你可以把这些道具传给孩子们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68773890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档