Next.jsでは、Reactコンポーネントで最初の読み込み時にサーバー側のレンダリングにバインドされたライフサイクルメソッドを使用できます。Next.js ReactコンポーネントgetInitialPropsが小道具をバインドしない
the ZEIT tutorial(あるいはon their 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>
}
}
これは/ pagesコンポーネントで取得する必要があります。さもなければ、getInitialPropsは呼び出されません。ページやコンポーネントを定義していますか? – elmasse