gpt4 book ai didi

next.js - 当覆盖 _app.js 时,getInitialProps 用于什么?

转载 作者:行者123 更新时间:2023-12-04 18:19:38 27 4
gpt4 key购买 nike

这到底是做什么的?

pageProps = await Component.getInitialProps(ctx)



看起来“pageProps”这只是一个空对象
import App, {Container} from 'next/app'
import React from 'react'

export default class MyApp extends App {
static async getInitialProps ({ Component, router, ctx }) {
let pageProps = {}

if (Component.getInitialProps) {
pageProps = await Component.getInitialProps(ctx)
}

return {pageProps}
}

render () {
const {Component, pageProps} = this.props
return <Container>
<Component {...pageProps} />
</Container>
}
}

最佳答案

getInitialProps允许您调用以获取您希望组件在服务器上呈现时具有的 Prop 。

例如,我可能需要显示当前天气,并且我希望 Google 使用该信息为我的页面编制索引以用于 SEO 目的。

为了实现这一点,你会做这样的事情:

import React from 'react'
import 'isomorphic-fetch'
const HomePage = (props) => (
<div>
Weather today is: {weather}
</div>
)
HomePage.getInitialProps = async ({ req }) => {
const res = await fetch('https://my.weather.api/london/today')
const json = await res.json()
return { weather: json.today }
}
export default HomePage

线路pageProps = await Component.getInitialProps(ctx)调用该初始函数,以便 HomePage组件使用调用天气 API 所产生的初始 Prop 进行实例化。

关于next.js - 当覆盖 _app.js 时,getInitialProps 用于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52195240/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com