在Next.js中,您可以在React组件中使用绑定到第一次加载时服务器端渲染的生命周期方法。
我尝试使用ZEIT教程中介绍的此功能(或者在其Github上使用),但是this.props似乎未从该功能返回JSON。当我单击该组件时,控制台将打印一个空对象。
import React from 'react'
import 'isomorphic-fetch'
export default class extends React.Component {
static async getInitialProps () {
const res = await fetch('https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json')
const data = await res.json()
return { data }
}
print() {
console.log(this.props);
}
render() {
return <div onClick={this.print.bind(this)}>print props</div>
}
}
我尝试了您的代码,它似乎正常运行,控制台显示
this.props
: