getServerSideProps() 未使用组件运行

Jor*_*ron 0 reactjs next.js

我正在使用 Next.js 制作一个小型网络应用程序,我不知道为什么,但当getServerSideProps()我使用该组件时它没有运行。我之前在 的页面上有以下代码/pages,但我将其移至用作组件。

export const getServerSideProps = async () => {
  console.log("in getServerSideProps") // never shows
  let bans = await fetch('http://localhost:3000/api/get_bans').then((res) => {
    return res.json();
  })

  return {
    props: { bans: bans }
  }

}

const BansList = (listName, bans) => {
  
  bans = bans.bans
  console.log(bans) // undefined
  
  return (
    <h1>test</h1>
  )

}
Run Code Online (Sandbox Code Playgroud)

我已经删除了代码以轻松显示出问题所在。getServerSideProps当我将其用作未运行的组件时,因此bans始终是未定义的。

Joe*_*ger 9

getServserSideProps仅适用于页面级别,不适用于组件级别。您必须使用下面的页面组件pages/ 在此输入图像描述

更多信息在这里:https://nextjs.org/docs/basic-features/data-fetching#getserversideprops-server-side-rendering