Tengo una función de creación de página con esto:
createPage({ context: { productId: String(productId) },Como puede ver, incluso obligué a que el ID fuera una cadena, pero la plantilla de la página aún recibe un número
const Template = ({ pageContext, data }) => { console.log(pageContext.productId) // numberY la siguiente consulta que espera una cadena falla:
export const query = graphql` myStuff(filter: {productIdentifier: {eq: $productId}}) { nodes { id } } } ` ¿Alguna idea de cómo puedo forzar que el productId de producto sea una cadena?
¿Has probado toString() ?
createPage({ context: { productId: productId.toString() }, Incluso el productId no se está emitiendo, también puede intentar definirlo como String o Int :
export const query = graphql` query($productId: String!) { myStuff(filter: {productIdentifier: {eq: $productId}}) { nodes { id } } } } Utilice $productId: Int! de lo contrario, pero no sé si esto coincidirá con el filtro.
Otra alternativa es lanzar una nueva variable de cadena antes de pasarla al contexto:
let productIdStringified = productId.toString() createPage({ context: { productId: productIdStringified },