我使用了next.js 项目,但是在组件中,`GetServerSideProps`并未执行,请问这个是什么原因呢?

作者站长头像
站长
· 阅读数 19

我使用了next.js 项目,但是在组件中,GetServerSideProps并未执行,请问这个是什么原因呢?1.是否是写的代码有误?2.是否是GetServerSideProps 只能在页面中使用,而不能在组件中使用?

组件代码:

import React from 'react'

import NetworkInterfaces from '../../../components/FuncComps/localMachineInfo/NetworkInterfaces'

import type { InferGetServerSidePropsType, GetServerSideProps } from 'next'
import { ipcRenderer } from 'electron'
 
const GetServerSideProps = () => {
  console.log(112233)  // 未执行
}


function InterfaceInfo() {
  return (
    <div>
      <NetworkInterfaces ifs={{}}></NetworkInterfaces>
    </div>
  )
}

export default InterfaceInfo
回复
1个回答
avatar
test
2024-06-29

getServerSideProps是小写固定的,你那里写的不对getServerSideProps只能在页面级别组件里用,不能在普通组件里用。

import React from 'react'
import NetworkInterfaces from '../../../components/FuncComps/localMachineInfo/NetworkInterfaces'

// 这是页面级别组件的主体
function InterfaceInfo({ ifs }) {
  return (
    <div>
      <NetworkInterfaces ifs={ifs}></NetworkInterfaces>
    </div>
  )
}


export const getServerSideProps = async () => {
  // 服务器端代码
  console.log(112233)

  return {
    props: {
      ifs: {} //获取网络接口信息
    }
  }
}

export default InterfaceInfo
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容