google / google/react-schemaorg
How to make BreadcrumbList with multiple breadcrumb trails
- Lenguaje dominante
- TypeScript
- Estrellas
- 521
- Forks
- 20
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
According to the Google docs [here](https://developers.google.com/search/docs/appearance/structured-data/breadcrumb#html_example) it should be possible to have multiple BreadcrumbList items in an array inside the script tag. However, this doesn't seem possible with react-schemaorg since you cannot pass an array of objects to jsonLdScriptProps() you can only pass a single object.
What I would like to do is:
```
const data = jsonLdScriptProps(
[{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"@id": "/#breadcrumlist",
itemListElement: [
{
"@type": "ListItem",
position: 1,
name: "Articles",
item: "https://example.com/",
},
{
"@type": "ListItem",
position: 2,
name: "Archive",
item: `https://example.com/a/${utcYear}/${utcMonth}/`,
},
],
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"@id": "/#breadcrumlist",
itemListElement: [
{
"@type": "ListItem",
position: 1,
name: "Home",
item: "https://example.com/",
},
{
"@type": "ListItem",
position: 2,
name: `${section}`,
item: `https://example.com/sections/${section}/`,
},
],
},
);
```
But this generates an error:
```
Type 'BreadcrumbListLeaf[]' does not satisfy the constraint 'Thing'.
Property '"@type"' is missing in type 'BreadcrumbListLeaf[]' but required in type 'TouristDestinationLeaf'.ts(2344)
```
Guía de contribución
Línea de trabajo
Empieza por la firma de tipo de jsonLdScriptProps() y rastrea cómo se representa y renderiza su entrada. Determina si se puede aceptar BreadcrumbList[] conservando el comportamiento existente para un único objeto y, a continuación, verifica que el JSON-LD resultante contenga las múltiples rutas de breadcrumbs solicitadas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- react, typescript
- Área
- api
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100