mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
968475fb95
Update examples with-relay-modern and with-relay-modern-server-express to react-relay 2.0.0 - react-relay has started to use new Context API instead of Legacy Context API - add `parseInt` because graphql 14.0.0 introduced stricter scalar value coercion Closes #6157
52 lines
1,018 B
JavaScript
52 lines
1,018 B
JavaScript
import React, { Component } from 'react'
|
|
import { graphql } from 'react-relay'
|
|
import withData from '../lib/withData'
|
|
import BlogPosts from '../components/BlogPosts'
|
|
|
|
class Index extends Component {
|
|
static displayName = `Index`
|
|
|
|
static async getInitialProps (context) {
|
|
let { after, before, first, last } = context.query
|
|
|
|
if (last === undefined) {
|
|
first = 2
|
|
}
|
|
|
|
return {
|
|
relayVariables: {
|
|
after,
|
|
before,
|
|
first: parseInt(first, 10),
|
|
last: parseInt(last, 10)
|
|
}
|
|
}
|
|
}
|
|
|
|
render (props) {
|
|
return (
|
|
<div>
|
|
<BlogPosts
|
|
viewer={this.props.viewer}
|
|
relayVariables={this.props.relayVariables}
|
|
/>
|
|
</div>
|
|
)
|
|
}
|
|
}
|
|
|
|
export default withData(Index, {
|
|
query: graphql`
|
|
query pages_indexQuery(
|
|
$after: String
|
|
$before: String
|
|
$first: Int
|
|
$last: Int
|
|
) {
|
|
viewer(after: $after, before: $before, first: $first, last: $last) {
|
|
...BlogPosts_viewer
|
|
}
|
|
}
|
|
`
|
|
})
|