Насколько я понимаю, в вашем приложении GQL это будет ключом к вашему массиву ребер, который, я полагаю, вы используете как posts
.const posts = allContentfulBlog.edges
или, может быть, const posts = this.props.allContentfulBlog.edges
Таким образом: мы будем использовать это для зацикливания наших объектов внутри массива записей.
posts.map((post) => {
return /* Grid */
})
, если у вас уже есть, не могли бы вы предоставитьснимок кода для вашего компонента, где вы выполняете этот цикл.
ОБНОВЛЕНО:
при просмотре изображения результатов, похоже, что один из узлов делаетне иметь mainImg
.таким образом, мы будем использовать ссылку на изображение по умолчанию в этом случае.
в вашем методе render()
добавьте это:
const defaultImage =
linkToYourDefaultImage ;
в вашем цикле:
{posts.map(({ node }) => {
return (
<Grid key={node.slug}>
<Card>
<CardMedia
image={node.mainImg ? node.main.responsiveResolution.src : defaultImage}
title={node.mainTitle}
/>
......the rest of your code.............
</Grid>
)
})}
были внесены изменения в CardMedia
компонент, в image
prop, мы проверили, является ли значение node.mainImg
нулевым или нет, и возвращаем правильное значение, такое как !null ? image : defaultImage