rsnext/examples/with-react-relay-network-modern/pages/index.js
Luis Alvarez D 258f8c0e4e
[Examples] Move with-react-relay-network-modern to SSG (#13878)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Joe Haddad <joe.haddad@zeit.co>
2020-06-08 21:31:22 -04:00

36 lines
857 B
JavaScript

import { graphql, QueryRenderer, fetchQuery } from 'react-relay'
import { initEnvironment } from '../lib/createEnvironment'
import BlogPosts from '../components/BlogPosts'
const query = graphql`
query pages_indexQuery {
viewer {
...BlogPosts_viewer
}
}
`
const Index = ({ environment }) => (
<QueryRenderer
fetchPolicy="store-and-network"
environment={environment}
query={query}
render={({ error, props }) => {
if (error) return <div>{error.message}</div>
else if (props) return <BlogPosts viewer={props.viewer} />
return <div>Loading</div>
}}
/>
)
export async function getStaticProps() {
const { environment } = initEnvironment()
await fetchQuery(environment, query)
const records = environment.getStore().getSource().toJSON()
return { props: { records } }
}
export default Index