Я подключаюсь к базе данных, и этот запрос показывает мне нужные мне идентификаторы:
allSongs {
edges {
node {
id
}
}
}
Итак, теперь я хочу иметь возможность загружать такую динамическую страницу:
site.com/song/6
Где "6" - это идентификатор выше. Похоже, мне нужно динамически создавать ярлыки на основе запроса, но у меня проблемы с их работой. Любая помощь приветствуется!
Да, я читал седьмую часть несколько раз, но это другой сценарий, когда в каталоге есть файлы разметки. Я задаю здесь другой вопрос.
источник может быть любым, файлы / БД / удаленная CMS, метод тот же





Вы можете использовать createPage api в gatsby-node.js и создавать динамические страницы
// Create song pages dynamically
exports.createPages = async ({ graphql, actions }) => {
const { createPage } = actions
const songTemplate = path.resolve(`src/templates/songs.js`)
const result = await graphql(`
query {
allSongs {
edges {
node {
id
}
}
}
}
`)
result.data.allSongs.edges.forEach(edge => {
createPage({
path: `/song/${edge.node.id}`,
component: songTemplate,
})
})
}