A simple example of creating pages dynamically in Gatsby without using GraphQL.
MIT License
Yes!
This is a small example that loads data from the PokéAPI’s REST endpoints, then creates pages (and nested pages) using Gatsby’s createPages
API.
Great question! There’s not a stable Pokémon GraphQL API that I’ve seen, but if there was, the query might look like this:
const data = await graphql(`
{
Pokemon {
edges {
node {
name
abilities {
name
effect
}
}
}
}
}
`);
// Use createPage to turn the data into pages, just like the REST version.
This one query accomplishes the same thing as the three different REST calls, and it shows more clearly how the data is related (e.g. each Pokémon has abilities).
For quick and easy comparison, the using-gatsby-data-layer branch illustrates how you can accomplish this using Gatsby's integration layer, rather than using the unstructured data approach.