En Gatsby tengo nodos con valores que contienen matrices (de Airtable):
"edges": [ { "node": { "data": { "Name": "Simon", "Projects": [ "Mainsite", "Backend" ], "Locations": [ "UK", "USA" ] } } }, ... Cuando uso la API de ruta del sistema de archivos de Gatsby para crear páginas dinámicas (por ejemplo {airtable.data__Projects}.js ), se crean páginas para cada matriz utilizada en cada nodo, por ejemplo, /projects/mainsite-backend/ .
¿Cómo hago para que cada elemento de cada matriz en cada nodo tenga su propia página, por ejemplo, /projects/mainsite y /projects/backend ?
La notación de doble guión bajo ( __ ) que está utilizando en {airtable.data__Projects}.js creo que está creando una ruta no deseada. Según los documentos:
Usando
__(doble guión bajo) significa que desea acceder a un campo anidado en un nodo. Puede anidar tan profundo como sea necesario, por ejemplo,src/pages/products/{Product.fields__date__createdAt}.jsgenera la siguiente consulta:allProduct { nodes { id # Gatsby always queries for id fields { date { createdAt } } } }
En su caso, creo que está intentando hacer /projects/{airtable.data.Projects}.js .
Alternativamente (y dependiendo de sus especificaciones) puede crear una estructura JSON anidada dentro Projects usando un campo de name (lo que contendrá los valores de su Mainsite y Backend ) y adaptarse como src/pages/projects/{Project.name}.js