При обновлении firebase он обновляет узлы в gatsby, который затем должен вызвать createPage с новым узлом, чтобы создать новую страницу.
Однако этого не происходит.Обновление узлов и кажется, что createPage вызывается, но страница не генерируется до тех пор, пока я не перезапущу сервер.
Похоже, что в уроках люди справляются с этим, однако мой код не отличается.
exports.sourceNodes = async ({ actions }) => {
const { createNode } = actions;
return new Promise((resolve, reject) => {
firebase.database().ref('widgets')
.on('value', snap => (
snap.forEach((widget) => {
const productNode = {
id: `${widget.val().ref}`,
parent: null,
children: [],
internal: {
type: 'Widget',
contentDigest: 'fgdgsgfdd' + widget.val().ref,
},
title: `${widget.val().title}`,
};
createNode(productNode);
resolve();
})));
});
};
exports.createPages = ({ graphql, actions }) => {
const { createPage } = actions;
return new Promise((resolve, reject) => {
graphql(`
{
allWidget {
edges {
node {
title
id
}
}
}
}
`).then((result) => {
result.data.allWidget.edges.forEach(({ node }) => {
console.log(node.title)
createPage({
path: 'widgets/' + node.id,
component: path.resolve('./src/templates/widget.js'),
context: {
title: node.title,
id: node.id,
},
});
});
resolve();
}).catch(() => reject());
});
};